Mohammad Hafeez top-scored with 37, as the visitors secured their ninth win in 11 outings against the Lankans.
Earlier, Umar Gul grabbed three wickets in a sharp opening spell as Pakistan restricted Sri Lanka to 135-8.
The fast bowler (3-24) removed skipper Mahela Jayawardene, Tillakaratne Dilshan and Dinesh Chandimal to send Sri Lanka reeling at 23-3 in the first nine overs of the day-night match, reduced to 42-overs-a-side due to rain.
Gul was superbly backed by paceman Mohammad Sami, who dismissed Kumar Sangakkara and all-rounder Angelo Mathews in his first two overs to reduce the hosts to 41-5. He finished with 3-19 off six overs.
Lahiru Thirimanne, who added 50 for the eighth wicket with Nuwan Kulasekara (18), top-scored for Sri Lanka with an unbeaten 42 while extras contributed 31, the second-highest of the innings.
Thisara Perera (17) and Upul Tharanga (10) were the other batsmen to reach double-figures.
Sangakkara, who took 20 deliveries to open his account, made just nine runs before being trapped leg-before while Mathews was caught at first slip by skipper Misbah-ul-Haq for no score.
Off-spinner Mohammad Hafeez bagged two of the last three wickets to finish with an impressive 2-20 off 10 overs.
Gul struck in his third over when he had opener Dilshan (five) caught by Saeed Ajmal at mid-on and then trapped Jayawardene (three) leg-before in his next over.
He put more pressure on Sri Lanka when he bowled Chandimal for no score in his fifth over.
The second one-dayer will also be played in Pallekele on Saturday and the last three games in Colombo on June 13, 16 and 18.
The one-dayers will be followed by a three-test series starting on June 22. (AFP)