England 337 for 4 (Bairstow 124, Stokes 99, Roy 55) beat India 336 for 6 (Rahul 108, Pant 77, Kohli 66) by six wickets
Pune: Jonny Bairstow hits a century and Ben Stokes 99 off 52 balls as England beat India by six wickets in 2nd One-day international at Maharashtra Cricket Association Stadium, Pune on Friday.
With this win England level the one-day series against India.
Their second-wicket stand of 175 came at nine runs an over, completely decimating the India attack.
Even though England lost three wickets for two runs in nine balls, the chase - comfortably England's highest in India and their fifth-best of all-time - was completed with 6.3 overs to spare.
It made India's 336-6 - built on a measured 108 from KL Rahul and Rishabh Pant's thrilling 77 - look meagre.
The series, now level at 1-1, will be decided on Sunday.
This was a stunning reminder of the exhilarating swagger that has made England the best one-day side in the world.
Just as in the series opener, which India won by 66 runs, it was a clash of styles. Whereas India slowly built towards a late assault, England sprinted in the chase and, this time, got over the line.
Before the pyrotechnics, left-arm seamer Reece Topley returned 2-50 from his eight overs, a standout performance in an otherwise battered attack.
But the punishment England's bowlers received was nothing compared to the treatment dished out by Stokes and Bairstow, who used the excellent batting conditions to rain blow after blow into the empty stands.
Their stunning display made light of the absences of injured captain Eoin Morgan, fellow batsman Sam Billings and the rested Joe Root.
Then, when England wobbled, they were taken to victory by debutant Liam Livingstone and Dawid Malan, who had just one previous ODI cap between them.
Bairstow had already added 110 with Jason Roy in 16.3 overs, an opening stand that was only ended when Roy was run out for 55 in a mix-up sparked by Rohit Sharma's superb swoop and throw.
Stokes himself was fortunate not to be run out on 33 as he strolled a second run. When Kuldeep Yadav's throw from the deep hit direct, there was little evidence to suggest Stokes had his bat beyond the crease line, yet the third umpire ruled in his favour.
It was spinner Kuldeep who then took the brunt of the Stokes assault, hit for three successive sixes as the left-hander moved from 50 to 99 in only 11 balls.
Somehow he overshadowed Bairstow, who played a number of glorious lofted on-drives in his 11th ODI century.
When Stokes edged a bouncer from Bhuvneshwar Kumar, he missed out on the third-fastest century by an England player in ODIs. In the next over, Bairstow hit Prasidh Krishna to extra cover and stand-in captain Jos Buttler was bowled by yorker.
However, any notion of pressure was dismissed by the audacity of Livingstone, whose back-to-back sixes off Bhuvneshwar took England's total number of maximums to 20.
Earlier, dropped after making only one run in three innings in the T20 series, Rahul returned to form with an unbeaten 62* in the first ODI and went further here.
Arriving in the ninth over at 39-2, he was required to steady with Kohli, and their unhurried third-wicket stand yielded 121.
Kohli, dropped on 35 by wicketkeeper Buttler, seemed primed to end his 16-month wait for an international century until he edged a cut off Rashid on 66.
The arrival of the electric Pant, in the side for the injured Shreyas Iyer, prompted Rahul to accelerate. When he reached his fifth ODI century, he celebrated by putting his fingers in his ears, later explaining it was to symbolise ignoring his critics.
Still, the real thrill came from the leg-side swiping of Pant, who smeared seven sixes. Hardik Pandya crashed 35 in a 16-ball cameo.
In all, India took 126 from the last 10 overs. This time, it was nowhere near enough.