New Zealand's Ajaz Patel became the third bowler in history to take 10 wickets in a Test innings – but India seized control of the second Test.
The left-arm spinner added six wickets to the four he took on day one to finish with 10-119 as India were bowled out for 325 in Mumbai.
Jim Laker and Anil Kumble are the only other players to achieve the feat.
New Zealand were bowled out for 62 in reply, before India closed day two on 69-0 – a lead of 332.
The two-match series is level at 0-0 after India came within one wicket of forcing victory in the opening Test.
Mumbai-born Patel bowled 47.5 overs – more than twice as many as any other bowler – and his milestone moment came when India's Mohammed Siraj edged an attempted sweep to Rachin Ravindra.
England off-spinner Laker took 10 wickets against Australia at Old Trafford in 1956, while India leg-spinner Kumble achieved the feat against Pakistan in Delhi in 1999.
It is likely that Patel's performance will be in a losing cause, given New Zealand's collapse with the bat.
Siraj removed Will Young, Tom Latham and Ross Taylor in the space of seven balls on his way to figures of 3-19, before the last seven wickets fell to spin as Ravichandran Ashwin claimed 4-8.