Lasith Malinga and Ajantha Mendis took three wickets each as Sri Lanka skittled out New Zealand for 217 in the first World Cup semifinal in Colombo on Tuesday.
Sri Lanka survived a close shave against New Zealand to enter their second consecutive World Cup final, beating the Kiwis by five wickets at the R Premadasa Stadium in Colombo on Tuesday.
Thilan Samarweera (23) scored the winning runs, while Angelo Mathews remained unbeaten on 14.
While chasing 218 for victory, Sri Lanka lost their experienced players - Tillakaratne Dilshan (73), Mahela Jayawardene (1) and Kumar Sangakkara (54) - in quick succession to give New Zealand a sniff to claw their way back in the game.
Earlier, attacking batsman Dilshan and skipper Sangakkara played judiciously to take Sri Lanka close to New Zealand's total before being pegged back by a cluster of wickets.
Dilshan took time to get his eye in but once set, the Sri Lankan opener punished the Kiwi bowlers with every given opportunity.
He was supported brilliantly by Sangakkara, who too played some delightful shots during his innings.
Lankan openers - Upul Tharanga and Dilshan - punished the Kiwi bowlers from the word go before the former was caught to a stunner by Jesse Ryder at backward point.
Earlier, Lasith Malinga and Ajantha Mendis took three wickets each as Sri Lanka skittled out New Zealand for 217.
Muttiah Muralitharan also picked up two wickets, including a prized wicket of Scott Styris (57) on the last ball of his 10-over quota. The match at the Premadasa Stadium on Tuesday was also the last game the magical spinner played on his home soil before taking on the other finalist from game between India and Pakistan.
Rangana Herath, Tillakaratne Dilshan also chipped in with a wicket each.
For New Zealand, Styris played a lone hand with his patient fifty and he also shared a 77-run stand with Ross Taylor (36) in the middle part of the innings.
The experienced duo took the New Zealand innings forward before the former was dismissed by Ajantha Mendis in the 40th over.
Muralitharan got the wicket of dangerous-looking Jesse Ryder, who was caught behind by Kumar Sangakkara. Malinga struck in the first over of his second spell as he clean bowled well-set Martin Guptill with a inswinging yorker.
Black Caps openers - McCullum and Guptill - made a solid start before the former was bowled by left-arm spinner Herath at the R Premadasa Stadium.
The two batsmen took calculated risks in the early part of their innings after Kiwi skipper Daniel Vettori won the toss and elected to bat first.
Lankan captain Kumar Sangakkara chose pace-spin combination at the start of the innings. Left-arm spinner Rangana Herath bowled the second over of the match with the first one was delivered by Lasith Malinga.
After McCullum's departure, Guptill played cautiously while Jesse Ryder took the aggressive approach. The southpaw hit along the ground and also took the aerial route whenever got the chance