David Warner's World Cup redemption tour is continuing to build steam as the Australian opening batsman thrashed more records on his way to 166 from 147 balls.
The star was the anchor as Australia hit its third highest score of all-time, scoring 381-5 from its 50 overs.
With a mountain ahead of them, Bangladesh fought valiantly but fell 48 runs short at 333-8.
It was Bangladesh's highest ever ODI total, built on the back of Mushfiqur Rahim's unbeaten 102 off 97 balls.
The win pushes Australia back to the top of the ladder on 10 points and pushes the side ever closer to sealing a semifinal spot. Bangladesh are ranked fifth on five points.
Warner's masterclass was the eighth highest score by an Australia in ODI history but only his fourth highest ODI score.
He is the first player to make two scores over 150 in World Cup matches and holds second place on the list of the most 150+ scores in ODI cricket behind only India's Rohit Sharma, who has seven.
Warner also became the first batsman to score more than 150 against six different nations.
The 32-year-old batsman won the man of the match award but admitted the personal achievement meant little in the grand scheme of trying to win a World Cup.
"Obviously it's a great achievement but for us it's about getting these two points and moving onto the next game at Lords," Warner said.
"It was a tad slow but credit to the way Bangladesh fought there, Mushfiqur played a fantastic innings. It was a grind for the bowlers, it was very difficult to take wickets but we got across the line and got the two points."
Australia's openers Warner and Aaron Finch continued to slay bowling attacks with another century stand to start the tournament. It was Australia's second century opening stand, while the pair has also had three fifty run opening stands.
So successful have they been, Finch and Warner have scored more than 500 runs as a partnership, way ahead of Sri Lanka's Dimuth Karunaratne and Kusal Perera in second on the list, having put on partnerships worth 207 so far in the tournament.
The stand ended at the hands of part-timer Soumya Sarkar. Bowling for the first time in the 2019 World Cup, Sarkar bowled his gentle 120km/h medium pacers just outside off stump with Finch steering the ball straight to Rubel Hossain in the gully.
Everyone in the ground was in disbelief, but none more than Finch himself, who audibly said "oh no" on the stump mic.
After missing his opportunity when Finch scored his monster 153 in the last innings, Warner continued to knock the ball around building towards his century.
Warner brought up second milestone of the tournament off 110 balls with a push into the leg side, celebrating with his trademark leap and kissing the Aussie badge on his helmet.
The 32-year-old has now matched Indian captain Virat Kohli as the second quickest batsman to 16 ODI centuries.
Kohli has now hit his way to 41 ODI centuries in 230 games.
Commentator Harsha Bhogle seemed to damn Warner with faint praise however, with Warner battling earlier in his innings.
"It's come off 110 balls so it's not as slow as you would have imagined," he said.
It echoed the sentiments of fans across Australia and the world who are used to a dashing Warner but are acclimatising to the more subdued Aussie opener.
Fox Cricket commentator Kerry O'Keeffe said he was still waiting for the Warner we all know to return.
"We're used to seeing him with a strike rate of well over 100, he has a tournament strike rate of 70, he's up to 90 through this innings and this pitch may be a little more difficult than we think," he said. "He's hit a lot of boundaries, but it's not quite vintage Warner."
As if he heard O'Keeffe, Warner unleashed, racing to 166 off 147 balls.
But as a double century beckoned, Warner played one shot too many, going after a short ball and chipping it to short third man.
It ended a 192-run stand between Warner and Usman Khawaja.
Khawaja hit a fluent 89 off 72 before feathering an edge, while Glenn Maxwell hit an entertaining 32 from 10 balls to push Australia over the edge.
The Australian defence started perfectly with a horror run out starting proceedings.
A communication breakdown saw Tamim Iqbal run most of the way down the wicket before turning back with Sarkar bizarrely in chase after not reacting.
The ball went straight to Aussie captain Aaron Finch at mid-on, who double pumped the throw, making sure he got it right and throwing down the stumps with a great direct hit.
It brought Shakib Al Hasan came to the crease. The Bangladeshi star already has two centuries and two fifties in the tournament.
But he couldn't continue the trend against Australia, caught by Warner off a leading edge for 41 off 41 balls.
Mitchell Starc continued his start to the World Cup, striking with the first ball of his second spell. He dismissed opener Iqbal for 62 off 74 balls after he chopped on to his stumps.
The Aussie couldn't believe his luck — or hide his glee — with a cheeky send off, covering his mouth and then staring down the batsman.
Then Starc shortened it up, hitting Liton Das with a vicious 143km/h short ball which struck his helmet. After a short pause for concern, the innings continued with Adam Zampa removing Das to leave Bangladesh 175-4.
Bangladesh rallied late with a 127-run stand between Mahmudullah (69 off 49 balls) and Mushfiqur Rahim but the mountain was too steep for Bangladesh, who still needed 82 off the last five overs.
Coulter-Nile grabbed two in two balls late as the game limped towards its inevitable conclusion with Bangladesh's spirited performance falling short of a second miracle chase in consecutive games.