Kolkata: India emerged stronger in the battle of attrition against a gritty New Zealand to take complete control of the second Test by grabbing a 339-run lead, riding on Rohit Sharma's fluent 82-run knock on Day 3 at the Eden Gardens in Kolkata on Sunday.
The Indians were pushed hard in the first two sessions, but roared back in the final session to reach 227/8 at stumps, which were again drawn early at 63.2 overs owing to bad light.
Wriddhiman Saha (39) and Bhuvneshwar Kumar (8) were at the crease when play ended for the day.
Despite the patchy batting performance, the hosts look set to go 2-0 up in the three-match series, a result that would also propel them to the top of the ICC Test rankings.
Earlier, resuming at yesterday's 128/7, the Black Caps' first innings wrapped up at 204 helped primarily by comeback-man Jeetan Patel's run-a-ball 47, which was laced with nine hits to the fence.
The struggle on the difficult-to-negotiate Eden Gardens track, however, was not exclusive to the New Zealanders and the hosts too found the going tough.
The in-form duo of pacer Matt Henry (3/44) and Mitchell Santner (3/51) continued to deliver for New Zealand, especially in the post-lunch session before Virat Kohli's men gathered themselves in the final session.
Reduced to 106/6, the home team was rescued by Rohit and Saha, who had scored an unbeaten half-century in the first innings as well. The two put on 103 run off 179 deliveries to steer India out of trouble.
Eden Gardens thus once again proved to be Rohit's happy-hunting ground where he has a debut Test century, an ODI world record 264, two Indian Premier League titles for Mumbai Indians, beside a Ranji Trophy double.
Among the top half, Kohli, who has been struggling for some time, produced a fine 65-ball 45, including seven fours, to announce his return to form before being trapped lbw by Boult off a delivery that kept low because of the unpredictable bounce.
Rohit took it forward from there and hit nine fours and two sixes en route to his second fifty in two Tests, and sixth overall. The 29-year-old's fluent knock was brought to an end by Santner who induced a faint edge from his bat, caught by Luke Ronchi.
Rohit made his intentions clear by hitting Jeetan Patel for a six over mid-wicket early in his innings, and when Trent Boult (2/28) was making the ball talk bowling at shoulder height, the Indian counter-attacked with a pull over square-leg boundary.
There was a minor blip for Rohit when Patel almost castled him, but the delivery missed the off-stump and Eden did not deny him a half-century.
Earlier, in reply to India's 316 in the first innings, New Zealand were bundled out for 204 in 53 overs in the first one-and-half-hour's play.
Playing his first Test after more than three years, No 9 Patel, who was flown in from England to replace an injured Mark Craig, was the top-scorer for New Zealand with his run-a-ball 47 in a 60-run partnership with BJ Watling (25).
Patel's career-best score took New Zealand past the 200-mark. Senior off-spinner Ravichandran Ashwin gave India the first breakthrough of the day in his first over.
New Zealand, however, did well to survive the opening hour's play which included a brief 10-minute rain halt.
Patel struck three boundaries in one Ravindra Jadeja over, and survived an lbw decision after the India spinner was found to have overstepped.
But Ashwin denied him his first international half-century and dismissed Patel when he skied one catch to Shami while trying to clear mid-on.
Mohammed Shami (3/70) then dismissed Watling (25) and Neil Wagner (10) in successive overs to wrap up the tail giving India a 112-run first innings lead.
India's pace duo of Bhuvneshwar Kumar (5/48) and Shami accounted for eight wickets, while spinners Jadeja and Ashwin took one each.
That India's ace spinner Ashwin just had to bowl eight overs summed up how pacer-friendly the relaid Eden wicket was as it had variable bounce and carry.
In reply, it was another top-order collapse for India barring Kohli, who hit seven delightful boundaries and shared 48 runs with Rohit which took India's lead past 200.
There were about 25,000 spectators in the stands, the best in the ongoing Test, who did not mind the extreme heat and humidity. Kohli gave them lots to cheer for by effortlessly guiding the ball away in his solid knock.
Kohli had a close shave when he was yet to open his account. The Indian skipper was hit on his front pad but replays showed the ball was going down the leg and fortunately for Kohli the umpire ruled out the loud appeals.
Earlier in the fourth ball after lunch, Henry gave the breakthrough producing a beautiful out-swinger as Murali Vijay (7) once again became the Kiwi youngster's victim.
Cheteshwar Pujara (4), Shikhar Dhawan (17) got out lbw while Ajinkya Rahane (1) also could not click, mistiming the shot while trying to pull Henry.
Dhawan had an anxious stay at the crease and was hit twice on his thumb by Boult's rising deliveries.
India lead the three-match series 1-0 after their 197-run win in the Kanpur Test.