Bridgetown: Mitchell Marsh hit an unbeaten 79 and captain Steve Smith scored 78 in a 122-run stand on Tuesday to lead Australia to a six-wicket victory over the West Indies and a spot in the final of the limited-overs tri-series.
Australia reached 283 for 4 with eight balls to spare, surpassing the West Indies 282 for 8.
Marsh hit six fours off 85 deliveries during a fourth-wicket stand with his skipper, who occupied 107 balls and struck five boundaries.
Glenn Maxwell supplied a typically innovative 46 not out off 26 balls to help Marsh reach the victory target in the next-to-last over.
The West Indies' total was built on a fine 125 off 134 balls from Marlon Samuels and his record fourth-wicket stand of 192 with Denesh Ramdin, who compiled 91 off 92 deliveries.
Left-arm paceman Mitchell Starc took 3 for 51 for Australia, which is guaranteed a spot in the final on Sunday against the winner of Friday's match between the West Indies and South Africa.
Australia's run chase stuttered early when they lost both openers with the score at 35.
Aaron Finch (16) spooned a catch to mid-on off Carlos Brathwaite, while rookie Shannon Gabriel had Usman Khawaja (17) caught behind.
Smith and George Bailey added 64 for the third wicket to turn the momentum, while Marsh and Smith further consolidated Australia's advantage.
When Smith was run out, there were still 62 needed from 8.2 overs.
Maxwell played some thrilling strokes, including a switch-hit six off Sunil Narine as the run chase was completed in style.
Earlier, the 35-year-old Samuels struck 14 fours and two sixes in compiling his 10th ODI century.
He and Ramdin revived the West Indies from 31-3 after Starc had claimed both openers and skipper Smith pulled of a stunning one-hander at slip off Josh Hazlewood to send Darren Bravo packing.
But Samuels and Ramdin rebuilt in an assured stand. Their partnership was a fourth-wicket record at the venue and also a best for the West Indies against Australia. Both batsmen also notched personal milestones during their knocks, with Samuels crossing 5,000 runs and Ramdin passing 2,000 runs at this level.