Second Test, day two: India 325 (M Agarwal 150; A Patel 52; A Patel 10-119) and 69-0 lead New Zealand 62 (R Ashwin 4-8, M Siraj 3-19, A Patel 2-14) by 332 runs.
New Zealand's Ajaz Patel became only the third bowler to take all 10 wickets in a Test innings on Saturday.
Playing in the city of his birth, the left-arm spinner took 10 for 119 as India were bowled out for 325 on the second day of the second Test in Mumbai.
Only England's Jim Laker, in 1956, and India's Anil Kumble, in 1999, have previously accomplished the feat and Patel, 33, is the first to do it in the first innings.
It was an otherwise miserable day for the Kiwis, though, as the world Test champions were skittled for just 62 in reply. Ravi Ashwin took four for eight after Mohammed Siraj had taken the first three wickets.
After the drawn first Test, India then ended a day that could prove decisive in the two-match series on 69 without loss in their second innings, 332 ahead.
The bulk of India’s first-innings runs came from opener Mayank Agarwal, who hit 150 before becoming Patel’s seventh victim.
“It is obviously quite a special occasion for me and my family,” said Patel after the innings in an interview broadcast by Sky Sports. “It’s pretty surreal.
“I don’t think you ever believe you can achieve something like this. To be able to do it in my career is pretty special.
“I think, by the grace of God, I am very fortunate that the stars have aligned to have an occasion like this in Mumbai. To be born here and then come back to achieve something like this is pretty special.”
Patel bowled 47.5 overs during the innings, more than twice as many as anyone else in the side.
Former India spinner Kumble paid tribute, tweeting: “Welcome to the club #AjazPatel #Perfect10 Well bowled! A special effort to achieve it on Day1 & 2 of a test match.”