India 329 (Pant 78, Dhawan 67, Hardik 64) beat England 322 for 9 (Curran 95*, Malan 50, Thakur 4-67, Kumar 3-42) by seven runs
Sam Curran's gutsy innings took England to the verge of an unlikely win before T Natarajan held his nerve to ultimately deliver India victory in Pune, in a tense and fitting finale to the ODI series that went 2-1 to the hosts.
India were out of the blocks well with bat and ball, openers Rohit Sharma and Shikhar Dhawan laying the foundation before Rishabh Pant and Hardik Pandya provided middle-order muscle when captain Virat Kohli lost the toss for the third time in the series and was asked to bat first.
But it was the bowling of Bhuvneshwar Kumar and Shardul Thakur that allowed them to defend what looked like being a below-par total, especially in the face of some woeful Indian fielding, keeping England's run chase in check for the most part until Curran's fightback.
Curran, whose previous highest score from seven ODIs was 15, was dropped on 22 by Hardik. He made India pay - and sweat - with a stunning 95 not out off 83 balls from No. 8 under huge pressure as England went into the final over needing 14 to win.
Natarajan, known for his ability to nail his yorkers and bowl at the death, came into the side in what Kohli described at the toss as a "tactical" move to replace spinner Kuldeep Yadav. Playing just his second ODI, Natarajan conceded just six runs when his captain threw him the ball for the final over as the hosts claimed victory by seven runs.
Half-centuries to Rishabh Pant, Dhawan and Hardik had India looking strong at times as the momentum swung more than once in their innings. Having managed 39 for 0 and 41 for 2 in their previous two batting powerplays, India's openers began with greater intent and aggression to reach 65 without loss after 10 overs. Sharma and Dhawan had managed just 16 off the first four overs but then Curran conceded 15 runs off the fifth and they took 17 off the eighth, bowled by Reece Topley, to accelerate their cause.
The hosts lost four wickets in the first 25 overs, and four in the last 20 balls as they were bowled out with 10 balls remaining. That left England needing seven runs fewer than they had managed to chase down with ease in levelling the series 1-1 on Friday.
But when Kumar struck in an extraordinary first over of England's reply in which Jason Roy crashed 14 runs but fell on the last ball, bowled through the gate by a gem, and then had Jonny Bairstow out lbw, India couldn't have hoped for better. Kumar should have had a third wicket from as many overs when Ben Stokes, on 15, skied the ball to mid-off, where Hardik put down a sitter.
England steadied to reach 66 for 2 after 10 overs, but then Stokes advanced on a full toss from Natarajan that was, fortunately for the bowler, dipping from near waist-height by the time the batsman swiped it straight to Dhawan at square leg.
With plenty of batting depth to come in acting captain Jos Buttler, Dawid Malan and Liam Livingstone - the latter two having come into the side after Eoin Morgan and Sam Billings were injured in the first match - it was a three-wicket run by Thakur that put India within grasp of adding an ODI series victory to their Test and T20I triumphs from England's tour.
Thakur trapped Buttler lbw in his second over after India overturned the on-field umpire's not-out decision on review and while Malan and Livingstone resisted with a 60-run partnership, Thakur accounted for both as England fell to 168 for 6.
Livingstone, playing only his second ODI, was particularly impressive, skipping down the pitch to whip Thakur through midwicket for a confident single on the first ball he faced and helping himself to consecutive fours off Thakur then Prasidh Krishna, before coming down the pitch to Krunal Pandya and depositing him over long-on.
After 23 overs, England were 152 for 4 compared to India's 151 for 3 but then Livingstone spooned a Thakur full toss tamely back for a return catch and Malan brought up his maiden ODI fifty pulling Thakur for four only to fall two balls later, pulling a Thakur short ball to Sharma at midwicket.
Still only needing a little over six an over at the halfway point, it was wickets in hand that were the worry for England, despite Moeen Ali showing some fine touch to reach 29. But again Kumar - who had proved a vital difference when India won the fifth T20I to clinch that series 3-2 - delivered when he had Ali out driving to mid-off where Hardik made amends for his earlier blunder to take a low catch. Thakur claimed his fourth wicket when Kohli took a spectacular catch in the covers to dismiss Adil Rashid.
Hardik was the culprit again when Curran picked him out in front of the sightscreen while lofting Prasidh down the ground and the ball went to the boundary in a costly let-off when England were 218 for 7.
Curran plundered 18 runs off the 47th over, bowled by Thakur, and Kohli threw the ball to Kumar for his 10th. The move looked to have netted a crucial wicket when Wood was given out lbw, struck high on his front pad, but England's review overturned the decision when the ball was shown to be going over.
Thakur dropped an easy catch at midwicket off Hardik that would have removed Wood in the penultimate over and Natarajan put Curran down next ball running to third man.
Wood was run out on the first ball of the final over, thanks to an excellent throw from Hardik at long-on to Pant. That left England needing 13 off five balls with Topley on strike and he managed a single to get Curran facing. But the two dot balls that followed meant that even when Curran managed to get a four away through the covers, eight runs were still needed off the final delivery; England would need a wide or a no-ball. Natarajan kept his cool and delivered a dot as Curran sent the ball towards long-on.
Earlier it had been England's spinners who made inroads, breaking a 103-run opening stand between Sharma and Dhawan and removing Kohli before Wood, who appeared to be battling illness, claimed three wickets at the end to restrict India to a total that the tourists would have regarded as attainable, given that they chased down 337 with 39 balls up their sleeves in their previous encounter.
Rashid struck in his second over with a googly that beat Sharma's inside edge and crashed into the top of off stump, then dismissed Dhawan with a sharp caught-and-bowled in his next over. When Ali had Kohli out cheaply, shaping to smash him through extra cover only to miss and see the ball jag back to take out leg stump, India were 121 for 3.
Livingstone claimed a wicket with his second ball in ODIs, a hip-high full toss on leg stump which KL Rahul swiped behind square where Ali took the catch leaping to his left.
Hardik went after Ali with three sixes in the next over as he and Pant wrested back control, illustrating the fluctuating nature of the contest. Curran ended Pant's knock with a full delivery that found the outside edge and Buttler's glove, thrust out to his left a lightning speed behind the stumps. Pant had shared a 99-run stand with Hardik, who brought up his fifty off 36 balls and was eventually bowled round his legs by Stokes.
Thakur offered a neat cameo of 30 from 21 balls and Krunal, playing his third ODI after a half-century on debut in the first match of this series, managed 25 before holing out to Roy off Wood. They were among four wickets to fall in quick succession as India managed just 11 runs off the last 20 balls of the innings but in the end, it all proved to be enough.