Opener Duckett top scored with 165 off 143 balls to take England to 351-8, only for Josh Inglis to hit a sensational 120 not out from 86 balls to complete the chase with five wickets and 15 balls to spare.
It was the highest score England have failed to defend in ODIs and the highest ever total at the Champions Trophy.
From there Inglis, Australia's number five born and raised in Yorkshire, put on 146 in 116 balls with Alex Carey to drag his side back into the contest before sealing the highest successful chase in a global 50-over tournament.
Jos Buttler's England now have little room for manoeuvre in their final two group-stage fixtures, against Afghanistan on Wednesday and South Africa next Saturday, if they are to finish in the top two and reach the semi-finals.
Australia Captain Steve Smith: "At one point it looked like they were going to get 400 so pleased that we were able to limit them.
"It's about just trusting each other's skills. The boys did a good job and took the pace off at the right time. We're pleased with the way we could pull it back and chase 350."
Watch highlights on ICC website.