Pakistan's innings was built around a brilliant 122 from Mohammad Hafeez which saw them post an impressive total of 322-5 in their 50 overs but were made to work hard for their win, finally bowling Sri Lanka out in 49.4 overs.
Besides Hafeez's 122, Sohaib Maqsood (73) and debutant opener Sharjeel Khan (61) were the main contributors on a flat pitch.
Sri Lanka had all but lost the match at 221-7 but Sachithra Senanayake (42) and Seekkuge Prasanna (42) gave Pakistan a scare during their 87-run partnership for the eighth wicket -- a record for Pakistan-Sri Lanka one-day internationals.
Sri Lanka needed 27 off the last two overs but both the batsmen were out in quick succession to hand Pakistan a deserved win.
Pakistan captain MIsbah-ul Haq said his bowlers needed to improve on this performance.
"It was a hard fought win. We need to improve on the bowling and fielding, too many lapses," said Misbah.
Sri Lankan captain Angelo Mathews was full of praise of his team's battling display.
"We witnessed a great match, especially the stand between Seekkuge and Senanayake, very pleasing to see how they fought," said Mathews.
Sri Lanka got off to a solid start with Tillakaratne Dilshan (30) and Kusal Perera (64) batting quite comfortably against the spin-cum pace Pakistan attack.
Dilshan pulled a short Junaid Khan delivery straight to deep square-leg before Kumar Sangakkara (23) and Perera added 47 for the second wicket.
Perera, who hit five boundaries and a six off 68 balls, also holed out off Hafeez before leg-spinner Shahid Afridi then struck twice, dismissing Sangakkara and Lahiru Thirimanne (10) in quick succession.
Dinesh Chandimal hit a 50-ball 46 while Mathews made 31 off 32 balls during a resolute 73-run stand for the fifth wicket before the tail wagged.
Paceman Junaid finished with 3-44.
Earlier, Hafeez smashed 122 off 129 balls in a power-packed Pakistan batting performance after they won the toss.
Hafeez, whose place was in danger over poor form after only 147 runs in the last eight one-dayers, hit seven boundaries and four sixes in his seventh one-day hundred.
He hoisted paceman Suranga Lakmal over long-on for a six to reach the three-figure mark.
Hafeez added 140 for the third wicket with Maqsood and 83 for the second wicket with Sharjeel to give Pakistan a good platform.
Maqsood was run out after hitting four sixes and two boundaries during an entertaining 68-ball knock.
Shahid Afridi, promoted to fifth in the batting order, produced a fiery 12-ball knock of 34 studded with three sixes and two boundaries as Pakistan mustered 103 in the last ten overs.
Hafeez and Sharjeel raised the scoring rate, with the opener hitting two sixes and a four off paceman Thisara Perera in the 13th over and then hit spinner Sachitra Senanayake for a boundary towards long-off to bring up his half-century off 46 balls.
Dropped on 56 by Thisara off Seekkuge Prasanna, Sharjeel failed to benfit from the lapse, holing out off the same bowler five runs later.
Lakmal finished with the best bowling figures of 2-73.
The second match will be played in Dubai on Friday followed by the third in Sharjah on Sunday and the last two in Abu Dhabi on Wednesday and Friday.
SRK-Gauri anniversary: B-Town stars and their non-filmi better halves
Birthday special: Popular mothers and daughters in Bollywood
Spotted: 'Kaabil' star Hrithik Roshan with dad Rakesh Roshan
'Rock On 2' trailer launch: Farhan, Shraddha enthrall audience with live gig
Photos: Deepika Padukone, Sushmita Sen with daughters at Mumbai airport