Chasing Zimbabwe's 173 for seven off 20 overs, the 'unseeded' Australian team was restricted to 172 for seven, despite an attacking 72 run inning from opener David Warner and 49 from skipper Michael Clarke [ Images ].
Needing 13 runs from the final over for victory, Australia lost Clarke, bowled from the penultimate delivery, and then Mitchell Johnson [ Images ] was run out off a wide, as the side finished one short of the target, Fox Sports reports.
Earlier in the day, Zimbabwean batsman Elton Chigumbura's 76 off 35 balls, including six sixes and five fours, had provided the backbone to Zimbabwe's total.
He also shared a 114-run partnership with Sean Ervine (39) for the fifth wicket.
Australia now has one more warm-up match against local side Windward XI, before Sunday's opening Group A match against defending champions Pakistan.
In other warm-up matches, New Zealand [ Images ] proved too strong for minnows Ireland in a 40-run victory in Guyana. Kiwi opener Jesse Ryder [ Images ] made 64 and Martin Guptill [ Images ] 50 as New Zealand compiled a total of 187 for five in their 20 overs.
Ireland, in reply, struggled with captain William Porterfield's 34, the top score in a total of 147 for nine. Nathan McCullum led New Zealand's attack with three for 25.
Elsewhere, Pakistan overwhelmed the Windward Islands by 68 runs in a warm-up match in St Lucia while, in Bridgetown, Bangladesh beat Barbados by 36 runs.