Glenn Maxwell's first one-day international century led Australia to a 64-run win over Sri Lanka as they qualified for the World Cup quarter-finals.
Kumar Sangakkara became the first player to make three successive hundreds in a World Cup but Sri Lanka were unable to chase down an imposing target of 377 at the Sydney Cricket Ground after Maxwell's onslaught, which followed his blistering 88 against Afghanistan.
A partnership of 134 between Steven Smith and Michael Clarke set the platform for Australia before Maxwell took centre stage with a stunning innings of 102 from 53 balls. Shane Watson also blasted 67 in quick time and Brad Haddin added 25 from nine balls at the death.
Sri Lanka opener Tillakaratne Dilshan made 62 and put on 130 for the second wicket with Sangakkara, who compiled a wonderful 104.
Angelo Mathews and Dinesh Chandimal tried to build momentum in the later stages of the chase, targeting Watson and Xavier Doherty, but when Chandimal retired hurt with cramp and Mathews was soon dismissed the clash got away from Sri Lanka.
Mitchell Starc took two wickets to finish the game, Sri Lanka ending up 312 for nine as Chandimal did not return given the match situation.
Australia openers David Warner and Aaron Finch were both dismissed in the first nine overs with 41 on the board, but Smith and Clarke put their team in a strong position.
Though Smith hit two fours off Mathews in the 10th over they built steadily overall, the 50 partnership coming up in 74 balls with Clarke's first boundary before Smith reached his own half-century from 72 balls with his sixth four.
Captain Clarke was quicker to the landmark, from 56 balls but with only three boundaries as the pair ran well between the wickets - Clarke, in only his second innings of the tournament, showing no signs of the injury troubles that at one point had his place in the squad in doubt.
Clarke hit back-to-back fours off Thisara Perera but was bowled for 68 by a trademark full-length ball from Lasith Malinga, and Smith followed for 72 when he lifted Dilshan to the off-side boundary where Thisara took a good catch.
Maxwell launched Sachithra Senanayake over mid-off for four and then hit Dilshan for four and six before he and Watson took 54 runs in the batting powerplay, Maxwell with sixes off Seekkuge Prasanna and Thisara to reach a 26-ball half-century while Watson crashed three fours to race to 24 from 17.
Maxwell hit three fours in the next over from Prasanna, the spinner called up in place of injured batsman Dimuth Karunaratne, and then reverse-paddled the first ball of Mathews' new spell for four through third man.
He survived difficult dropped chances on the boundary either side of crashing Thisara for four and six and after two successive fours took Watson to an almost overlooked 30-ball half-century, Maxwell reached a 51-ball ton - one ball outside Kevin O'Brien's World Cup record - featuring 10 fours and four sixes.
He added only one more before Thisara had him nicely caught by Malinga but Watson and Haddin took 19 runs from the penultimate over and Australia finished on 376 for nine.
Lahiru Thirimanne fell in the second over of Sri Lanka's reply but Dilshan and Sangakkara rebuilt well, the former remarkably hitting six fours off Mitchell Johnson in the sixth over and scooping Watson for another boundary in the next.
He was dropped on 46 by the diving Clarke and was beaten to 50 by Sangakkara, who took back-to-back fours off Maxwell and five altogether as he reached the mark from 45 balls. Dilshan followed from 42 with all his seven boundaries coming in successive balls.
The hundred stand came up in the 16th over but Dilshan was trapped lbw by James Faulkner, a Sri Lanka review unsuccessful as the ball pitched just in line with leg stump meaning umpire Ian Gould, standing in his 100th ODI, saw his decision upheld.
Mahela Jayawardene joined Sangakkara in a partnership of 53, their 32nd half-century stand in ODIs, but was run out for 19 before Sangakkara clipped James Faulkner off his pads to move to 101 from 100 balls, following innings of 105 not out against Bangladesh and 117 not out against England.
The end came for Sangakkara as he hoisted a catch to Finch at deep midwicket and Faulkner was given the benefit of the doubt as to whether he got his foot down behind the line.
Chandimal hit Watson for two fours and a six as 16 came off the 36th over and the two batsmen combined to take 19 off Doherty in the next, with three fours and a Mathews six.
Chandimal reached his half-century from only 23 balls but, struggling with cramp, he retired hurt and was replaced by the similarly gung-ho Thisara, who hit two fours before holing out from his third ball.
By then, Mathews had also gone after top-edging Watson to wicketkeeper Haddin, and Starc removed Prasanna and Senanayake while Faulkner took the wicket of Upul Tharanga to finish with 3-48.