Second one-day international, Karachi:
Sri Lanka 290-8 (50 overs) bt Pakistan 161 (34.5 overs) by 129 runs
Dilshan celebrates his half century before eventually making 76
Pakistan lost their last seven wickets for just 36 runs as Sri Lanka levelled the one-day series at 1-1 in Karachi.
After an eight-wicket defeat in the opening game, the tourists eventually secured a 129-run victory.
Tillakaratne Dilshan hit 76 as Sri Lanka amassed 290-8 off their 50 overs before Nuwan Kulasekera's double strike left Pakistan struggling at 17-3.
Salman Butt (62) and captain Shoaib Malik (54) then put on 108 before the hosts were bowled out for just 161.
Off-spinner Muttiah Muralitharan (3-19) broke the pair's resiliance before unorthodox spinner Ajantha Mendis (3-29) dismantled the lower order.
Malik had won the toss for Pakistan, electing to field, 24 hours after Sri Lanka had won the toss and batted first in the first one-dayer on Tuesday.
Dilshan hit a century in each innings in the second Test against Bangladesh earlier this month, but was then left out of the one-day tri-series involving Sri Lanka, Zimbabwe and Bangladesh.
But after being recalled for this series, in an unfamiliar role at the top of the order, he has scored 42 and 76.
He added 99 for the third wicket with Thilina Kandamby (59), who was preferred to Jehan Mubarak and batted at number four above out-of-form captain Mahela Jayawardene.
Chamara Kapugedara later hit two sixes as he made a rapid 44 from 39 balls.
Paceman Umar Gul was the pick of the Pakistan attack, taking 4-58 - including the wicket of Sanath Janasuriya, who stepped back onto his stumps as he tried to defend.
However, Malik will be concerned at the fragility of his batting line-up - as aside from the skipper and Butt, only Shahid Afridi - who made 14 - reached double figures.
"We did not start well in the run chase," Malik said.
"We did not bowl in the right areas and lacked in both bowling and batting, so the series is now left on the last match where we have to do our best again."
Jayawardene added: "We made some mistakes in the first match but learnt from them.
"We did not repeat our mistakes and showed a lot of character to stage a comeback."
The third and final match of the series takes place in Lahore on Saturday.