Chasing 221-6, opener Hafeez gave Pakistan a flying start with 54 off 45 balls.
Misbah, who top-scored with 73, and Shafiq then added an unbroken 134 off 150 deliveries for the third wicket.
Earlier, Darren Bravo hit 67 off 109 balls for the hosts.
But despite Bravo’s patient knock, its was the spin of Hafeez (1-36), Saeed Ajmal (1-24) and captain Shahid Afridi (0-40) that squeezed the home team’s scoring.
Bravo, who did not have a boundary in reaching 50, fell when he was run out after his skipper Darren Sammy called him back for an impossible second.
Sammy boosted his side to a competitive total by dominating the final three overs in which 35 runs were scored.
But Pakistan’s reply was launched with a volley of boundaries from Ahmed Shehzad and eventual man-of-the-match Hafeez.
The pair added 68 off 76 balls before Devendra Bishoo offered some hope by removing both.
Shehzad, who hit four fours in 22, was stumped by wicketkeeper Carlton Baugh while Hafeez chipped a catch to midwicket.
But that was the last success for the hosts, as the 36-year-old Misbah and his partner, Shafiq, produced a victory course.
The second game in the five-match series is at the same venue on Monday. – BBC