Trent Boult went through the Sri Lanka batting as he took six wickets in space of 15 balls, conceding only four runs through that period, as the visitors were bundled out for just 104 runs in the second Test match of the series at Christchruch on Thursday.
The visitors were 88 for 4 at the start of the day but folded for 104 in no time against some quality swing bowling from Trent Boult who returned career best figures of 6-30.
His fiery spell gave New Zealand a 74-run first-innings lead at Hagley Oval after being out for just 178 in the first innings.
Sri Lanka had added 6 runs to their overnight total before Boult started the carnage. He got Roshen Silva caught at third slip for 21 - ending his 43-run stand with Angelo Mathews.
In the next over, Niroshan Dickwella was caught driving at a ball that curved dramatically away from him at the last moment with Tim Southee taking a spectacular one-handed catch at third slip.
The remaining dismissals were all lbws - each of them plumb. Dilruwan Perera offered no shot, Suranga Lakmal got a good full swinging delivery, Dushmantha Chameera was trapped plumb in front of the wicket and Lahiru Kumara ended up being pinned right in front with a full one.