Sri Lanka spinner Muttiah Muralitharan took a wicket with his final ball on home soil on Tuesday as his team took control of the World Cup semi-final against New Zealand.
New Zealand managed only 217 from 48.5 overs after Muralitharan dismissed New Zealand's top scorer Scott Styris (57) with the last ball of his 10th over.
The 38-year-old world record holder for Test and one-day wickets will retire from international cricket after the tournament.
Lasith Malinga took wickets at key stages, yorking opener Martin Guptill (39) and Kane Williamson (22) and deceiving Nathan McCullum (9) with a slower delivery which the batsman edged to Kumar Sangakkara behind the stumps.
Asantha Mendis also took three wickets, dismissing New Zealand's last two batsmen Tim Southee and Andy McKay for ducks.
Styris added 77 from 106 balls with Ross Taylor (36) to take New Zealand to 161 for four from 39.1 overs.
The pair found run-scoring difficult against the variety and accuracy of the Sri Lankan attack, with Styris getting some relief with a hook and drive for four off a Malinga over.
The stage was set for a New Zealand run charge but Taylor hit Mendis straight to Upul Tharanga on the leg-side boundary and the New Zealanders never recovered.
Photograph: Getty Images
Lasith Malinga ruled out of second Test
Muttiah Muralitharan: 800 and done
Muralitharan fights fitness battle before semis
NZ recall Styris, How for India ODIs
Malinga bags second World Cup hat-trick