David Warner's 163 proved just enough for Australia to win the opening final of the CB Series despite Sri Lanka's spirited attempt to chase a target of 322.
Opening batsman Warner's maiden ODI century underpinned Australia's total of 321-6 after they opted to bat first in Brisbane.
And Sri Lanka looked dead and buried at 144-6 in the 31st over of their reply before Upul Tharanga and Nuwan Kulasekara slammed half-centuries to revive the innings.
Sri Lanka, with their ninth-wicket pair at the crease, needed 23 off the last three overs.
But Shane Watson claimed the final two wickets to seal a 15-run success, Sri Lanka all out for 306 in 49.2 overs.
The second match of the best-of-three finals takes place in Adelaide on Tuesday.
Sri Lanka's top order all failed to build on promising starts bar Kumar Sangakkara, who hit 42 before becoming Brett Lee's third victim, while David Hussey bagged 3-14 in his first five overs.
But Tharanga found unlikely support from Kulasekara, who bludgeoned 73 from only 43 balls in a stand of 104 for the seventh wicket.
Kulasekara cleared the ropes three times and hit seventh further boundaries before holing out off Hussey, while Tharanga crafted 60 as the required-rate tumbled from 12-per-over to below nine.
But Tharanga picked out Hussey in the deep in the 46th over, and Dhammika Prasad's 31 proved futile as last-man Malinga holed out off Watson (3-33) in the final over.
Warner had earlier thrilled the Gabba with an awesome array of strokes, belting two sixes and 13 fours in his 157-ball knock.
Matthew Wade contributed a composed 64 to an opening stand of 136 in 24 overs, while Michael Clarke (37) and Michael Hussey (19no) provided late fireworks to accompany Warner, who was bowled off the final ball of the 50.