The left-hander, who had a lucky escape when he was dropped on 35 by Umar Gul off leg-spinner Shahid Afridi, cracked three sixes and seven fours in his 130-ball knock.
Sangakkara went for big shots after completing the half-century, scoring his last 47 runs off just 31 balls. He looked set to reach his 14th one-day hundred before he was caught by Azhar Ali in the deep off spinner Saeed Ajmal.
He added 110 for the fourth wicket with skipper Mahela Jayawardene, who hit four boundaries in his 50-ball 40 before being bowled by left-arm paceman Sohail Tanvir.
Pakistan had put in a disciplined bowling performance as they restricted Sri Lanka to 125 off 35 overs before Sangakkara and Jayawardene stepped up the run-rate and helped their team score 118 in the last 15 overs.
Off-spinners Mohammad Hafeez and Ajmal, and Tanvir each took two wickets.
Sangakkara also added 55 runs for the second wicket with Tillakaratne Dilshan (24) after opener Upul Tharanga (four) fell in the third over, caught by Younis Khan at second slip off Gul.
Hafeez broke the second-wicket stand when he trapped Dilshan leg-before with his first delivery and then bowled Dinesh Chandimal (18) just before the rain stopped play.
The five-match series is currently tied 1-1, with Pakistan having won the opening one-dayer by six wickets and Sri Lanka the second game by 76 runs in Pallekele.
The third match in Colombo was abandoned due to rain on Wednesday.