Mahela Jayawardene and his lion-hearted spinners powered Sri Lanka to their second World Twenty20 final following the team's 16-run win over 2009 champions Pakistan in the first semi-final.
Opting to bat first, Jayawardene (42) added 63 runs with Tillakaratne Dilshan (35) but Sri Lanka could not capitalise on the strong start on a sluggish track and posted 139 for four wickets.
Jayawardene then returned to marshal his bowlers who restricted Pakistan to 123 for seven to earn a place in Sunday's final against either Australia or West Indies.
"It means a great deal, great support from the fans," said the Sri Lanka captain, denying the team was under pressure from the fans to win their first World Twenty20 title.
"I think like everyone said it's not pressure for us. It's like our 12th man, pretty much cheering us up. It's been great to perform like this in front of a great crowd."
Left-arm spinner Rangana Herath was one of the key performers, justifying his selection ahead of Akila Dananjaya by claiming three for 25 while Ajantha Mendis (2-27) and Angelo Mathews (2-27) shared four wickets between them.
"It was a tough call to keep out birthday boy Akila Dananjaya but we felt with Pakistan, they have a history against left-arm spin," Jayawardene said.
Captain Mohammad Hafeez (42) top-scored for Pakistan while Umar Akmal remained not out on 29 in a rematch of the 2009 final.
Pakistan responded well with Hafeez and Imran Nazir (20) adding 31 off the first six overs but once Mendis separated them by removing Nazir, their chase never got the momentum again.
Angelo Mathews reduced Pakistan to 57 for three by removing Nasir Jamshed and Kamran Akmal in the same over before left-arm spinner Herath wrecked them.
Playing Herath ahead of teenager spinner Akila Dananjaya proved a master stroke as the 34-year-old spinner bowled out Shoaib Malik for six and then struck a double blow.
He foxed Hafeez, who had stepped out to hit him, to present Kumar Sangakkara with an easy stumping and in his next delivery, bowled Shahid Afridi for a golden duck on the 16th anniversary of the batsman's fastest century that came off 36 balls.
Mendis further tightened the screw by removing Sohail Tanvir and Pakistan could score six of the 23 runs they required in the tidy last over sent down by Nuwan Kulasekara.
"We were very much into the game but unfortunately the middle order collapsed and we couldn't do well as far as the partnerships were concerned," Hafeez rued.
"I think it was a good game of cricket where both teams really fought well and at the end of the day the better team won."
Should bouncers be banned from cricket?