Shubman Gill and Dhruv Jurel pulled off a nervy chase as India beat England by five wickets in the fourth Test on Monday to claim an unassailable 3-1 lead in the five-match series.
Chasing a modest 192 for victory, India cruised to 84 for no loss with openers Rohit Sharma (55) and Yashasvi Jaiswal (37) giving them a flying start.
The English spinners, led by Shoaib Bashir (3/79), then engineered a collapse that left India reeling at 120/5 on the penultimate day of the see-saw contest.
Gill (52) and Jurel (39) combined in an unbroken stand of 72 for the sixth wicket to inflict on England their first series defeat under captain Ben Stokes and head coach Brendon McCullum.
"It has been a very hard-fought series. To come on the right side after four tests feels really good," India captain Rohit said afterwards.
"I am really proud. A lot of challenges have been thrown at us but we responded pretty well."
Needing 152 runs on day four with all 10 wickets intact, Rohit and in-form opener Jaiswal looked at ease on a pitch where the odd ball kept low.
Rohit smacked James Anderson over mid-on for a six to signal his attacking intent and Jaiswal, the leading scorer of the series, hit off-spinner Bashir for back-to-back fours.
Joe Root broke the stand in his first over when Jaiswal tried to slice him and Anderson dived full length at short third man to grab the edge.
Rohit duly brought up his fifty but could not soldier on.
Hartley drew the opener out of the crease with a flighted delivery and Ben Foakes whipped off the bails to effect the stumping.
India slumped to 100/3 after Bashir dismissed Rajat Patidar for a duck.
The spinner turned the match on its head after the lunch break when he dismissed Ravindra Jadeja and Sarfaraz Khan with successive deliveries.
Gill and Jurel shored up India defying tremendous pressure. There was a 30-over stretch during which they could not hit a single boundary.
It was only when their victory was in sight that Gill smashed Bashir for two sixes in three balls.
Jurel, whose first innings 90 dragged India back into the contest, was adjudged player-of-the-match in his second Test.
"I think it was a great test match," England captain Stokes said.
"There were so many ebbs and flows, and I've got to give so much credit to our spinners Tom Hartley and Shoaib Bashir for how they performed not only today, but during the whole Test match."
The fifth and final Test will be played in Dharamsala from March 7.