Maxwell's first one-day international ton, reached off 51 balls, inspired Australia's total of 376-9 in Sydney.
Sri Lanka fell short in a spirited run chase despite a third consecutive World Cup century from Kumar Sangakkara and a quickfire 52 from Dinesh Chandimal.
Australia are likely to meet either Ireland or Pakistan in the last eight.
Michael Clarke's side, who face Scotland in their final Pool A match in Hobart on 14 March, should finish second behind New Zealand in their group, and would therefore meet the team that finishes third in Pool B.
Sri Lanka, who lie in third place in the group with six points from their five matches, also face Scotland in their final Pool A match in Hobart on 11 March.
Maxwell hit 10 fours and four sixes in an innings of 102 that combined deft placement with power hitting, as the 26-year-old finally reached three figures in his 45th ODI.
He was denied a share of the fastest World Cup century arguably only by his own honesty, after he answered in the negative when asked by umpire Ian Gould whether he had got a touch on a legside glance off Lasith Malinga in the 45th over.
Maxwell bought up his hundred in the next over, off 51 deliveries, one more than it took Ireland batsman Kevin O'Brien to decimate the England attack in Bangalore in 2011. However, it is the fastest ODI century by an Australian, beating James Faulkner's 57-ball century against India in 2013.
The Victorian received a bear-hug from batting partner Shane Watson, who hit 67 runs in 41 balls on his return to the side after being dropped for the previous match against Afghanistan.
"I didn't know about the record World Cup century, but I knew about the Australian record because James Faulkner doesn't shut up about it!" Maxwell said.