The visitors finished off the match with four balls to spare to take them top of the log – equal on points with the hosts but ahead on net run rate – with two matches for each of the three teams remaining.
Earlier, Peter Forrest scored his maiden international century to lead Australia to a challenging total of 280-6.
Michael Clarke made a quick-fire 72 off 79 balls in a 152-run, third-wicket stand with Forrest to steady Australia after an early collapse at Bellerive Oval.
Australia made a poor start to the match after winning the toss and opting to bat when opener Matthew Wade was caught by Mahela Jayawardene at wide mid-off for 5 in just the second over after offering a rash shot to a Nuwan Kulasekara ball.
Opening partner David Warner was caught behind for 7 shortly after while defending a Farveez Maharoof delivery.
Thisara Perera claimed an athletic catch on the mid-wicket boundary to give Angelo Mathews (2-43) the valuable wicket of Australia captain Clarke.
Forrest pumped his fist in celebration after guiding a Perera ball down the off-side for one run to bring up his first century in just his fourth match for Australia. It was also the first century of the tri-series tournament, which also involves India.
Forrest was out for 104, with 10 boundaries and two sixes, when he lofted a simple catch to Maharoof off a slower Mathews ball.
Michael Hussey made 21 off 14 balls before being bowled by Lasith Malinga and Dan Christian was stumped by wicketkeeper Kumar Sangakkara after he charged up the wicket at a Rangana Herath delivery.
David Hussey was unbeaten on 40 with Brett Lee on 20 at the end of the innings. (Supersport.com)