Australian batters were guilty of not converting starts but still managed to post 286 against arch-rivals England. Marnus Labuschagne (71 off 83) recorded his highest score of the tournament.
England, whose formidable batting line-up has massively underperformed in their title defence, had a good opportunity to pick up a win after four consecutive losses.
Amid heavy dew, Ben Stokes (64 off 90) kept the chase alive while batting alongside Dawid Malan (50 off 64 ) and Moeen Ali (42 off 43) before Zampa landed the killer blows to stop England at 253 in 48.1 overs.
Chris Woakes (32 off 33) tried his best towards the end but it wasn't enough.
Zampa first had out-of-form England skipper Jos Buttler (1) caught in the deep before getting rid of Stokes in a soft dismissal.
It was a short ball on the leg side and Stokes ended up offering a simple catch to Stoinis at short-fine leg.
It was all over for England when Moeen's slog sweep off Zampa arrived straight into the hands of David Warner at deep mid-wicket.
England batters including Stokes, Moeen and Dawid Malan did exhibit the strokeplay they are known for but could not stay long enough to see their team through.
Left-arm pacer Mitchell Starc got the ball to swing in the powerplay. He got lucky in the first ball of the England innings as Jonny Bairstow got a faint edge to one swinging down the leg-side.
Joe Root was set up by Starc with a series of inswingers before he pushed one wide and the England number three got the outside edge.
Australia's sharp fielding also contributed to their fifth win in a row.
Earlier, Labuschange, Steve Smith (44 off 52), Cameron Green (47 off 52) and Marcus Stoinis (35 off 32) were among the batters who failed to cash in on their starts.
Leggie Adil Rashid (2/38) was frugal as usual while pacer Mark Wood (2/70) was back to his menacing ways, using the short ball to hurry the opposition batters, especially Green.
Chris Woakes (4/54) delivered with the new ball for the second game in a row, removing the dangerous opening duo of David Warner (15) and Travid Head (11). He also struck twice in the death overs.
England were able to get the early wickets after putting Australia in to bat.
Head handed a regulation catch to Joe Root at first slip off an angled away ball from Woakes.
Three overs later, Warner mistimed a pull to give Woakes his second wicket, leaving Australia at 38 for two in the sixth over.
Smith and Labuschagne, who both have not had the best of times in the tournament, then shared a 75-run stand off 96 balls. It was hard work in the middle for the seasoned batters who found the boundaries hard to come by.
Following Smith's fall, Josh Inglis (3) tried to up the scoring rate but fell while attempting a reverse sweep off Rashid.
Green, who looked uncomfortable against the short-pitched stuff from Wood, did hit some crisp boundaries off the other bowlers. His cover drive off Woakes was the highlight of his knock. He saw his leg stump uprooted after missing a slog sweep off left-arm pacer David Willey.
Stoinis then got into the action depositing Rashid and Liam Livingstone into the stands over deep mid-wicket before getting caught in the same spot off a short ball from the latter.
It seemed Australia would not able to use their full quota of overs but Adam Zampa's timely cameo of 29 from 19 balls took the team close to 300.