Sri Lanka reached the World Cup final with a five-wicket win against New Zealand on Tuesday as veteran off-spinner Muttiah Muralitharan said goodbye to his home crowd.
Sri Lanka, set a modest 218 to win, wobbled in the middle before reaching their target in 47.5 overs with Tillakaratne Dilshan (73) and skipper Kumar Sangakkara (54) setting the foundation at a packed R Premadasa stadium.
Muralitharan took his 534th wicket off his last ball on home soil as New Zealand were bowled out for a below-par score of 217 in 48.5 overs.
Muralitharan, who last year retired from Tests after finishing as the highest wicket-taker with 800, now aims to win his second title -- after being part of the 1996 Cup winning squad -- in Saturday's final in Mumbai.
Sri Lanka, cruising along at 160-1, lost four wickets in the space of 25 runs to raise fears of an unlikely defeat before Thilan Samaraweera (23 not out) and Angelo Mathews (14 not out) guided them home with an unbroken 35-run stand.
The victory took Sri Lanka into their second successive World Cup final, after finishing runners-up to Australia in 2007, as a capacity 35,000 celebrated with firecrackers.
Sri Lanka play the winners of Wednesday's semifinal between India and Pakistan in Mohali.
New Zealand, who for the sixth time failed in a World Cup semi-final, seemed to be succumbing like England did during their 10-wicket quarterfinal defeat at the hands of Sri Lanka, but they staged a brave rearguard action.
It was 34-year-old Dilshan who was once again in rampaging mood, taking the co-hosts to 40 by the eighth over in the company of Upul Tharanga who fell after scoring a 31-ball 30 with four boundaries and a six.
Dilshan then found an equally aggressive and in-form partner in captain Sangakkara as they added 120 for the second wicket, before Dilshan played straight into the hands of Jesse Ryder off Tim Southee.
Dilshan hit 10 boundaries and a six during his 93-ball knock.
Sri Lanka then lost Mahela Jayawardene (one) and Sangakkara in the space of eight runs and then Chamara Silva (13) before the team held their nerve.
Dilshan also became the top run-getter of the tournament with 467.
It was Ajantha Mendis (3-35) and Lasith Malinga (3-55), along with Muralitharan (2-42), who kept New Zealand under control after Daniel Vettori won the toss and opted to bat.
Scott Styris, who top scored with 57, added 77 for the fourth wicket with Ross Taylor (36) but the Sri Lankan bowlers never allowed them to run away with a big total, dismissing the Kiwis in 48.5 overs.
Styris and Kane Williamson (22) added 42 in the batting powerplay but New Zealand lost their last seven wickets for just 56 runs.
Sri Lanka once again dismissed hard-hitting Brendon McCullum through a spinner when left-armer Rangana Herath bowled him in the eighth over for 13.
Martin Guptill (39) and Jesse Ryder (19) took the total to 69 before Muralitharan had the big left-hander caught off a quickish delivery.
Soon it became 84-3 when Malinga bowled Guptill with a ferocious yorker after the opener had hit three boundaries off 65 balls.
Styris hit five boundaries during his 77-ball knock.