Morgan made 92 as England successfully chased a total of 300 for only the fourth time in one-day cricket to set up a series decider at Manchester's Old Trafford on Sunday.
Overhauling the World Cup holders' 50-over total of 299-7 also surpassed the 270-4 England made in their previous highest one-day run chase in beating Australia in 1997.
Morgan made his third successive half-century as he shared a 91-run partnership with Ben Stokes and 58 with Yorkshire's Jonny Bairstow as England held their nerve to get home with ten balls to spare in an exciting finish.
Glenn Maxwell's superb catch at backward point denied Morgan a ninth ODI century as he fell after facing 92 balls and hitting eight fours and two sixes.
Maxwell then took an even better catch, taking the ball in mid-air behind the boundary before throwing it up and completing the catch to remove the hard-hitting Liam Plunkett for 17 when England still needed 18 to win.
But Moeen Ali and David Willey saw England over the line, with Willey hitting John Hastings for England's sixth six of the innings to complete victory in the penultimate over.
England had earlier overcome the early loss of opener Alex Hales, whose position on the tour to the United Arab Emirates to face Pakistan later this month must be in doubt due to his poor run of form, to make a positive start to their run chase through Jason Roy and James Taylor.

Latest News from Sports News Desk