Thilan Thushara and Muttiah Muralitharan shared five wickets as Sri Lanka bowled out Pakistan for 168 runs in the second one-day international in Dambulla on Saturday.
Pakistan, sent in to bat by Sri Lankan captain Kumar Sangakkara in overcast conditions, never recovered after losing a wicket off the first ball of the match and were bundled out in 47 overs.
The 26 extras sent down by the Sri Lankan bowlers, including 18 wides, were the highest contributor in Pakistan's dismal batting at the Rangiri International Stadium.
The tourists were reduced to 128-9 before the last pair of Mohammad Aamer (24) and Saeed Ajmal (16) gave the top order a batting lesson by adding 40 runs.
Pakistan captain Younus Khan, who made 23, was the only other batsman to pass 20 as left-arm seamer Thushara finished with 3-33 and off-spinner Muralitharan claimed 2-41.
Sri Lanka need less than four runs an over to take a 2-0 lead in the five-match series after winning Thursday's opening match at the same venue by 36 runs.
Pakistan's gamble to play two 19-year-olds, Nasir Jamshed and Umar Akmal, in place of senior batsmen Mohammad Yousuf and Misbah-ul Haq did not pay off.
Opener Jamshed was dismissed off the first ball of the innings when he chased a wide ball from Nuwan Kulasekera into the safe hands of Mahela Jayawardene at second slip.
Debutant Umar, younger brother of the team's wicket-keeper Kamran Akmal, made a promising 18 during a fourth-wicket stand of 32 with Younus when he was caught behind off Angelo Mathews.
But even the experienced batsmen failed to negotiate the spot-on Sri Lankan attack.
Former captain Shoaib Malik was trapped leg-before by Thushara before he had scored and Shahid Afridi threw away his wicket with a wild slog off Muralitharan that was skied to deep mid-wicket.
Pakistan were struggling at 87-7 before Abdul Razzaq (17) and Umar Gul (14) put on 38 for the eighth wicket to lift the total past the 100-run mark.