Matt Henry (3/34) and Trent Boult (2/19) reduced India to 43/4 by taking four wickets in 43 balls in the post-lunch session, but Kohli and Rohit Sharma seized the momentum in the most entertaining period of the day.
At tea, Sharma was unbeaten on 20 in his happy-hunting ground while giving him support was local lad Wriddhiman Saha on four with India placed at 110/6 after 31 overs.
Kohli hit seven delightful boundaries and shared 48 runs with Sharma and their partnership ensured that India's lead go past 200.
There was about 20,000-odd Eden turnout, the best in the ongoing Test, and they did not mind the extreme heat and humidity and remained glued to their seats as Kohli worked the ball around.
Also Read
Kohli had a close shave when he was yet to open his account. The Indian skipper was hit on his front pad but replay showed the ball was going down the leg and fortunately for Kohli the umpire ruled in the batsman's favour.
In the fourth ball after lunch, Henry gave the breakthrough by producing a beautiful outswinger as Vijay once again became the Kiwi youngster's victim.
Cheteshwar Pujara (4), Shikhar Dhawan (17), who was hit on his bottom hand thump twice, got out LBW while Ajinka Rahane (1) mistimed one while trying to pull Henry.
Earlier, in reply to India's 316 in the first innings, New Zealand were bundled out for 204 in 53 overs.
Patel's careerbest score took New Zealand past the 200-mark but he could not make further inroads with the ball Ravichandran Ashwin gave the first breakthrough of the day in his first over.
(REOPENS DEL 21)
Jadeja was introduced in the fifth over of the day but the 36-year-old, who has an experience of playing in these conditions, looked at ease hitting the left-arm spinner for two boundaries in his first over of the day.
But Ashwin denied Patel his first international half-century when the batsman skied a catch to Mohammed Shami while trying to clear mid-on.
Shami (3/70) then dismissed Watling (25) and Neil Wagner (10) in successive overs to wrap 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 the spin pair of Ravindra Jadeja and Ashin took one each.
India lead the three-match series 1-0 after their 197-run win in the Kanpur Test.