Tim Southee and Trent Boult shared nine wickets between them as New Zealand quickly bowled out Sri Lanka's tailenders in Wednesday's morning session and took a 168-run first-innings lead in the second test.
New Zealand took the final four wickets for the addition of only 19 runs to the overnight score, dismissing the hosts for 244.
In their second innings at P.Sara Oval, the Black Caps were 59-2 at lunch on the penultimate day, for an overall lead of 227 and with a strong chance to square the series.
New Zealand 1st Innings 412
Sri Lanka 1st Innings
Tharanga Paranavithana c van Wyk b Southee 40
Tillakaratna Dilshan b Southee 5
Kumar Sangakkara c Boult b Southee 0
Mahela Jayawardene c Williamson b Boult 4
Angelo Mathews c Guptill b Southee 47
Thilan Samaraweera c Guptill b Boult 76
Prasanna Jayawardene c Williamson b Patel 12
Suraj Randiv lbw b Boult 39
Nuwan Kulasekara c Taylor b Southee 6
Rangana Herath c Williamson b Boult 5
Shaminda Eranga not out 3
Extras: (3lb, 3nb, 1w) 7
TOTAL: (all out) 244
Overs: 94. Batting time: 422 minutes.
Fall of wickets: 1-7, 2-7, 3-12, 4-102, 5-103, 6-128, 7-225, 8-232, 9-240, 10-244.
Bowling: Tim Southee 22-4-62-5 (1nb), Trent Boult 21-7-42-4 (2nb, 1w), Jeetan Patel 22-3-47-1, Todd Astle 13-2-41-0, Doug Bracewell 13-1-44-0, Kane Williamson 3-1-5-0.
New Zealand 2nd Innings
Martin Guptill c Dilshan b Eranga 11
Brendon McCullum st P. Jayawardene b Herath 35
Kane Willamson not out 11
Ross Taylor not out 1
Extras: (nb 1) 1
TOTAL: (for two wickets) 59
Overs: 17 Batting time: 84 minutes
Fall of wickets: 1-32, 2-56.
Bowling: Nuwan Kulasekara 6-2-24-0, Shaminda Eranga 6-1-22-1 (1nb), Rangana Herath 5-1-13-1.
Toss: New Zealand.
Series: Sri Lanka leads 1-0 in two-match series.
Umpires: Marais Erasmus, South Africa, and Nigel Llong, England.
TV umpire: Ruchira Palliyaguruge, Sri Lanka. Match referee: Javagal Srinath, India.