Ajaz Patel became the third bowler in Test history to claim all 10 wickets in an innings as New Zealand bowled India out for 325 in Mumbai.
The left-arm spinner added six wickets to the four he took on day one of the second Test to finish with figures of 10-119 at the Wankhede Stadium.
Patel, 33, joins England’s Jim Laker (1956) and India’s Anil Kumble (1999) in picking up 10 wickets in an innings.
Five of the wickets were catches, three were lbw and two clean bowled.
Mumbai-born Patel bowled 47.5 overs during the innings, more than twice as many as anyone else in the side, and his milestone moment came when India’s Mohammed Siraj edged an attempted sweep to Rachin Ravindra.
Kumble congratulated Patel on his “special effort” on Twitter.
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.
Former England captain Kevin Pietersen was also among those to congratulate Patel on the achievement.