Sri Lanka have set Pakistan 140 to reach the final of the ICC T20 World Cup.
The hosts got off to a flying start, as Mahela Jayawardene top scored with the bat.
He knocked 42 from 36 balls, before being caught by Raza Hasan off the bowling of Shahid Afridi, leaving Sri Lanka one down for 63 runs.
Kumar Sangakkara was the next to go, caught by Shoaib Malik off Mohammad Hafeez's delivery.
Pakistan had managed to stem the flow of runs by the time Umar Gul removed Tillakaratne Dilshan by lbw, as Sri Lanka struggled on 117-3.
Jeevan Mendis was stumped by Kamran Akmal after coming down the track to Saeed Ajmal.
Thisara Perera and Angelo Mathews guided the hosts to the 20-over mark, adding 16 runs in the final over.