For a while it seemed like we might have a great fourth innings contest, with New Zealand, led by Tom Latham, showing great resolve with the bat. But then, India's persistence paid off, with R Ashwin and Ravindra Jadeja striking, before the reverse-swing came to the fore for Mohammed Shami and Bhuvneshwar Kumar.
Just like that, the contest turned into a rout as India sealed the three-match series 2-0 after a comprehensive 178-run victory at the Eden Gardens in Kolkata, which also took them back to No.1 in the world in the Test rankings. New Zealand, chasing 376 for a win, were bowled out for 197 in 81.1 overs.
Earlier, Wriddhiman Saha set his stall out again, unmoved and unbreakable, and a couple of decent partnerships with the tail-enders ensured India would give New Zealand a hefty target to chase.
Starting the day on 227/8, with Bhuvneshwar Kumar for company, Saha did well to weather the early morning storm, with the India No.10 also doing well with the bat. Saha and Bhuvneshwar put on 36 hard-fought runs together for the ninth wicket, bulging that lead further.
Another 12 runs were added between Saha and Mohammed Shami, before the latter was caught in the slips off Trent Boult to end India's innings on 263 in 76.5 overs.
That meant New Zealand had to score 376 runs in the fourth innings of this Test match at the Eden Gardens if they are to level the series at 1-1. The Kiwis made a solid start, with Martin Guptill and Latham surviving the new ball assault from Shami and Bhuvneshwar, as well as a few overs from the spinners Ashwin and Jadeja, to go into Lunch on 55/0 in 16 overs. That score would read 135/3 in 52 overs at Tea, but the next 29.1 overs, in the final session, were a nightmare for New Zealand, as the India bowlers took complete control to end the Test match in a hurry.
Latham was solid right from ball one, and while Guptill had a couple of nervous moments, particularly when he was hit plumb in front by Shami, with the umpire Rod Tucker, incorrectly, thinking there was an inside edge, New Zealand started well. With the wicket not causing too many problems, the two were relatively comfortable at the crease, with that comfort leaving them the first over after Lunch.
Ashwin, who would go on to bowl through the entire session, was given the ball and he found the right line and length to trap Guptill (24, 49b, 3x4) in front of the stumps.
However, India could not find a way through easily even after that opening wicket, with the two left-handers Latham and Henry Nicholls adding 49 runs for the second wicket. Again, the worrying thing from India's perspective was the relative comfort with which both batsmen played.
The fast bowlers were unable to extract movement or uneven bounce from the surface, while Ashwin, despite having two left-handers to bowl to, could not quite make an impact either.
It was the left-arm spin of Jadeja that finally broke the partnership, with Nicholls (24, 66b, 2x4) finding the outside edge through to Ajinkya Rahane at first slip after getting caught in the crease.
Ross Taylor could not build another decent partnership with Latham, who continued to look comfortable, with the right-hander also out lbw, this time off the bowling of Ashwin â€“ that wicket was the 14th lbw dismissal of the match, a record for a Test in India.
With three wickets in the session, India went in to Tea the happier of the two teams, and those smiles only increased when they came back out for the final session of day four. In the second over after Tea, Ashwin picked up the crucial wicket of Latham (74, 148b, 8x4), with the left-hander finding an outside edge, and from there, India, smelling blood, went in for the kill.
Shami came in and used his pace and movement to dismiss Mitchell Santner and BJ Watling, before Luke Ronchi (32, 60b, 4x4), after another solid innings, saw his stumps disturbed after playing back to a Jadeja quicker one.
Bhuvneshwar came in and knocked out the stumps of Jeetan Patel, who scored 47 in the first innings, with Matt Henry and Neil Wagner then resisting for a little while, threatening to take the match into the last day. However, with Jadeja and Ashwin bowling in tandem it was just a matter of when, and that when came in the 77th over with Henry (18, 44b, 2x4) driving one to Kohli at short cover to give Jadeja his third wicket and end Ashwin's hopes of another five-for.
Shami, with the new ball, was the man to pick up the last wicket, after Trent Boult top-edged one to Murali Vijay.
It was a battle of attrition in the morning, with New Zealand keeping it nice and tight and pressing and probing with every over. Bhuvneshwar did well to withstand the early pressure, with Saha, again, impressing with his temperament.
If Saha continues to bat in this manner, India will have a gem of a lower middle-order batsman, because the ability to soak up the pressure and frustrate the opposition is not something that comes along too often.
Saha certainly did that in the first innings, when he scored an unconquered 54, and here as well, he was near-flawless in his knock of 58 not out (120b, 6x4).
Bhuvneshwar was good at the other end as the two batsmen stayed together for nearly 13 overs, with the fast bowler eventually succumbing to Neil Wagner, who dropped one short induce a catch for forward short leg.
Shami came in and stayed for a bit as well, and while he did not score as many as he did in the first innings, his seven-ball stay allowed Saha to add a few more valuable runs.
Bowling: New Zealand: Trent Boult 17.5-6-38-3. Matt Henry 20-2-59-3. Neil Wagner 15-3-45-1. Jeetan Patel 8-0-50-0. Mitchell Santner 16-2-60-3.
India: Bhuvneshwar Kumar 12-4-28-1. Mohammed Shami 18.1-5-46-3. R Ashwin 31-6-82-3. Ravindra Jadeja 20-3-41-3.
Fall of wickets: India: 12/1, Murali Vijay (5.4 overs); 24/2, Cheteshwar Pujara (7.5 overs); 34/3, Shikhar Dhawan (10.5 overs); 43/4, Ajinkya Rahane (13.1 overs); 91/5, Virat Kohli (24 overs); 106/6, R Ashwin (30.3 overs); 209/7, Rohit Sharma (60.2 overs); 215/8, Ravindra Jadeja (61 overs); 251/9, Bhuvneshwar Kumar (73.4 overs); 263/10, Mohammed Shami (76.5 overs).
New Zealand: 55/1, Martin Guptill (16.5 overs); 104/2, Henry Nicholls (35.5 overs); 115/3, Ross Taylor (43 overs); 141/4, Tom Latham (53.3 overs); 154/5, Mitchell Santner (58.4 overs); 156/6, BJ Watling (60.4 overs); 175/7, Luke Ronchi (66.1 overs); 178/8, Jeetan Patel (67.3 overs); 190/9, Matt Henry (76.1 overs); 197/10, Trent Boult (81.1 overs).