New Zealand however, rocked India again as Rohit Sharma, Ashwin and Wriddhiman Saha were dismissed in quick succession.
Rohit Sharma too get his eye in to forge a partnership with Ashwin.
Trent Boult picked up his third when he cleaned up Mohammed Shami for a second-ball duck. India finished the day on 291 for 9.
Ravichandran Ashwin took over the mantle of reviving India's fortunes and stamped his authority.
Rahane started positively but was one of New Zealand's three quick wickets towards the end of the second session.
Cheteshwar Pujara was solid in his approach as he and Vijay stitched India's innings after Rahul's early exit.
Mitchell Santner, the left-arm spinner, ended Rahul's breezy start, giving New Zealand their first breakthrough.
Both scored fifties to take India in to Lunch in a position of strengrth.
After a long toil in the field, New Zealand reaped dividends as they managed to make deep inroads on either side of the Tea break to dismiss half the Indian side.
KL Rahul started briskly after Virat Kohli won the toss and opted to bat first.
Murali Vijay scored his 13th Test fifty to power India in Kanpur.