Sri Lanka have beaten Australia by 20 runs at the Kia Oval to progress to the semi-finals of the ICC Champions Trophy.
After winning the toss, Australia, who, in the continued absence of Michael Clarke, were captained by George Bailey, restricted Sri Lanka to 253-8.
Mahela Jayawardene topscored with a stylish 84 not out off 81 balls, while Lahiru Thirimanne contributed a steady 57 off 86.
Because of their inferior net run rate, Bailey's men needed to eclipse 253 within 29.1 overs in order to qualify from Group A.
Sri Lanka needed simply to win to progress, while a successful Australian chase that took 29.2 overs or more would have seen New Zealand sneak through in second place.
Australia's opening batsmen, Shane Watson (5) and Phil Hughes (13), knew that they had to go hard early. They did, but both perished to the bowling of Nuwan Kulasekara early on, leaving the defending champions on 45-2.
Glenn Maxwell (32), Matthew Wade (31) and Adam Voges (49) put up some resistance, as did tail-enders Clint McKay (30) and Xavier Doherty (15*), who put on a final-wicket stand of 41.
However, it proved to be in vain as Australia were all out for 233 in the 43rd over.
England top Group A and will face South Africa at the Oval in the first semi-final on Wednesday.
Runners-up Sri Lanka will then take on tournament-favourites India at Sophia Gardens on Thursday.