Roach scored 30 and Seales two in an unbeaten 17-run partnership as the home side reached their target of 168 for the loss of nine wickets after the West Indies had bowled Pakistan out for 203 in their second innings, with Seales taking 5-55.
Fortunes ebbed and flowed dramatically throughout the fourth day with 14 wickets falling before Roach stroked the winning runs through the covers.
The West Indies looked to have little chance when they lost their last recognised batsman Joshua da Silva with 26 runs still required and two wickets left, but Roach took up the challenge with a confident batting display.
It was never going to be an easy chase after Shaheen Shah Afridi removed the Windies’ top three batsmen cheaply to leave the home side reeling at 16-3 before a 68-run fourth wicket partnership between Roston Chase and Jermaine Blackwood offered them hope.
Imran Butt, however, began a series of stunning slip catches to turn the tide back Pakistan’s way as Chase went for 22 off Faheem Ashraf, Kyle Mayers fell to the same combination four balls later and a spectacular diving catch saw Blackwood out for 55 off Hasan Ali.
When Jason Holder was bowled by Hasan, tea was taken with the Windies needing 54 to win and Pakistan requiring three wickets.
The match continued to fluctuate in the evening session with three dropped catches contributing to Pakistan’s failure to wrap up the tail.
Earlier, the 19-year-old Seales became the youngest West Indian to get a Test match five-wicket haul, beating Alf Valentine’s 71-year-old record, as he rolled over Pakistan’s lower order after they resumed at 160-5.
Roach took the first wicket of the morning, then Mayers snagged that of captain Babar Azam, who top-scored with 55, before Seales wrapped up the remaining three wickets.
The second and final Test is also behind closed doors at Sabina Park, Kingston starting on Friday.