Chasing 260 for victory, India lost skipper Rohit Sharma and Virat Kohli for 17 runs each after both experienced batsmen fell to Reece Topley, before Pandya took charge with a fluent 71 off 55 balls in the company of Pant.
The pair stitched together 133 runs for the fifth wicket to set up a comfortable win, with Pant going on to score his maiden ton in the format after Pandya fell to a spectacular catch by Ben Stokes off the bowling of Brydon Carse.
India's explosive wicketkeeper batsman Pant took them home with 47 balls to spare by reverse-sweeping Joe Root for four, after he smashed David Willey for five boundaries in the previous over.
Earlier, England were dismissed for 259 in 45.5 overs after Pandya picked up four wickets.
India won the toss and chose to bowl first and fast bowler Mohammed Siraj gave the tourists the perfect start, dismissing Jonny Bairstow and Root for ducks in the second over to leave England at 12-2.
Jason Roy (41) and Stokes (27) steadied the ship but Pandya (4-24) struck in his first over to remove Roy and later dismissed Stokes to put the brakes on.
Moeen Ali then combined with Jos Buttler for a 75-run fifth-wicket stand before he was caught behind off Ravindra Jadeja.
India's bowlers used the short ball to good effect and Buttler looked shaken up when he was hit twice on the helmet by two bouncers in one over from Siraj, but the skipper settled down and looked to push England to a competitive total.
But Pandya struck twice in the 36th over, dismissing Liam Livingstone (27) before getting rid of Buttler (60), with both batsmen holing out to Jadeja in the deep.
England failed to get going in the death overs and although Craig Overton made 32, they were bowled out as Yuzvendra Chahal (3-60) cleaned up the tail.
Indian paceman Jasprit Bumrah, whose 6-19 had laid the foundation for a 10-wicket victory in the first ODI, missed the decider due to a back spasm.