Pakistan successfully defended what looked like a modest total of 292 for 6 to win the first ODI against Sri Lanka by 83 runs.
Sri Lanka won the toss and elected to field first, a decision that looked wise when Pakistan got off to a slow start.
Ahmed Shehzad played out a twelve ball duck at the top while his opening partner Fakhar Zaman provided some early initiative.
When Shehzad chipped Lahiru Gamage to square leg it brought Babar Azam to the crease with the young man under pressure to live up to his potential despite averaging 53 in ODI cricket.
Babar's innings was labored to begin with but, critically he prevented the type of collapses that have plagued Pakistan for some time.
He would add 64 with Fakhar (43) before the opener was beaten by Akila Dananjaya's googly a ball after hitting him out of the park.
Mohammad Hafeez (32) and Babar consolidated with a steady 49 run stand before the former was undone by a rank long hop from Jeffery Vandersay.
Once Shoaib Malik and Babar Azam had rebuilt the innings finally began to take off.
Babar would record the slowest of his six ODI centuries while Shoaib blasted his way to 81 off just 61 balls including two sixes and five fours.
Shoaib, Sarfaraz (1) and Babar (103) fell in pursuit of a big finish before some late hitting from Imad Wasim (10*) and Hasan Ali (11*) gave Pakistan something to bowl at.
Sri Lanka opener Niroshan Dickwella predictably came out of the gate swinging but he lasted just 13 balls for his 19 before nicking off to Rumman Raees.
Dinesh Chandimal (4) was trapped leg before to give Raees his second and leave Sri Lanka reeling at 34 for 2.
Of the top order only Lahiru Thirimanne (53) passed fifty for the tourists and his departure as the seventh Sri Lankan wicket saw whatever hopes they may have harboured dissipate.
Dananjaya (50*) played out the innings with the pressure off and scored himself a maiden ODI fifty in Sri Lanka's 209/8.
Hasan Ali's 3/36 made him the pick of the Pakistan bowlers.
The defeat was Sri Lanka's 17th in 21 ODIs in 2017.