
The hosts, who are playing their 500th Test match, were 159 for one at stumps with opener Murali Vijay on 64 and Cheteshwar Pujara on 50 going strong.
The pair put together an unbeaten 107-run stand for the second wicket to take the attack to the opposition bowlers.
Kohli admits India need to play spin better against New Zealand
However, it was Jadeja and Aswhin, who shared nine wickets between them, spun it around for the hosts after bowling out New Zealand for 262 in their first innings and secured a vital 56-run lead.
Ashwin got overnight batsmen Tom Latham and Kane Williamson in the morning session to hurt the Black Caps, who started the day on 152 for one in response to India's 318.
Luke Ronchi steadied the innings for a while with his composed 38 but Jadeja got the batsman lbw to break the 49-run fifth-wicket partnership before lunch.
Williamson, Latham lead strong New Zealand reply against India on rain-hit day
The spin twins continued to wreak havoc after the first session as Jadeja, who was denied a hat-trick, wiped off the opposition tail after taking three wickets in the 95th over of the innings.
New Zealand lost five wickets for just seven runs as they nosedived from 255 for five to pack up in 95.5 overs.
Santner contributed with 32 while wicketkeeper batsman BJ Watling also scored 21 to put up some fight but the lower-order batsmen failed to handle the Indian spinners.
The Indian batsmen seized the advantage with Vijay putting on a 52-run opening stand with Lokesh Rahul, who finally fell to New Zealand spinner Ish Sodhi for 38.
Vijay, who registered his 13th half-century, struck seven fours and a six to entertain the raucous home crowd at Kanpur's Green Park Stadium.
Pujara also took on the spinners with aplomb as he hit eight boundaries to record his eight Test fifty in his 36th match.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ