Alex Hales made 95 and captain Eoin Morgan 75 not out as hosts England overhauled their target of 306 with 16 balls to spare, the highest successful run-chase in the tournament's history.
The day had started badly for England, bidding to win their first global 50-over trophy, when all-rounder Chris Woakes limped off due to a side strain after bowling two overs.