Skipper Kohli’s bad luck with the toss continued as England won the toss in the second ODI and elected to field first.
Shikhar Dhawan scratched around for 17 balls to make 4 runs before falling to Reece Topley.
Rohit Sharma departed in the 9th over, bringing KL Rahul to the crease, who was chosen in place of the injured Shreyas Iyer.
Rahul’s 108 was the fulcrum of the Indian innings. He began slowly and 68 of his 108 runs came through ones and twos.
Only after passing fifty did he start showing the full repertoire of his strokes, the highlight being a straight six down the ground off Adil Rashid that showcased his twinkling footwork and the god-given gift of timing.
When Rahul finally departed in the 45th over, India had reached 271 for 4.
Kohli has not got a century in any format since November, 2019 and looked determined to change this stat, but fell for 66.
Rishabh Pant blasted a savage 40-balls 77 featuring 7 sixes and Hardik continued the six-hitting spree with four more as India ended with 336/6 at the end of 50 overs.
England openers reply strongly
After the meltdown in the 1st ODI, the English batsmen were keen to ensure there is no encore.
Jason Roy and Bairstow started brilliantly and looked in no trouble against the Indian bowlers.
The opening stand produced a century stand (their 13th in ODIs) and it was only through a run-out of Roy that India managed its first breakthrough.
At 110 for 1, Stokes walked in and played an innings of quality that was long overdue.
The 2nd wicket stand was worth a mammoth 175 runs and saw Bairstow hit a sparkling century while Stokes just fell sort of 1.
Bairstow’s 19th ODI century came off off 95 balls.
After Stokes got out, there was a glimmer of hope for India as they bagged three quick wickets in nine balls when Buttler and Bairstow also fell in succession.
However, Dawid Malan and Liam Livingstone, looking absolutely composed on his debut took England home.
Amongst the Indian bowlers, Prasidh Krishna continued to add to his wicket tally with 2 dismissals. Unfortunately, Kuldeep Yadav’s flop show with the ball continued as he conceded 84 runs (that included 8 sixes) for zero wickets.
Playing XI: England: Jason Roy, Jonny Bairstow, Ben Stokes, Jos Buttler(w/c), Liam Livingstone, Moeen Ali, Sam Curran, Tom Curran, Adil Rashid, Reece Topley
India: Rohit Sharma, Shikhar Dhawan, Virat Kohli(c), KL Rahul, Rishabh Pant(w), Hardik Pandya, Krunal Pandya, Shardul Thakur, Bhuvneshwar Kumar, Kuldeep Yadav, Prasidh Krishna
England 337 for 4 (Bairstow 124, Stokes 99, Roy 55, Krishna 2-58) beat India 336 for 6 (Rahul 108, Pant 77, Topley 2-50) by six wickets