Openers Chris Gayle (40) and Shivnarine Chanderpaul (21) had got the Windies off to a solid start before both fell with the score on 73.
Ramnaresh Sarwan (12) and Marlon Samuels (28) took the home side on but there was still plenty of work to do when Bravo joined his captain at 129-4.
Any chance Zimbabwe had went when sub fielder Gary Brent dropped Bravo, who finished with 37 not out, at fine leg off the bowling of Elton Chigumbura with 17 needed.
Former Zimbabwe captain Streak given 8 year corruption ban
Lara (44no) finished the match with a massive six over mid-on to lead the home side past their target with 2.1 overs to spare.
The result leads the West Indies in to the Super Eight stage, although Friday's match against Ireland still has significance as teams carry points through to the next stage.
Earlier, Sean Williams struck an unbeaten 70 as Zimbabwe recovered from 59 for four after being put in to bat by Lara.
Jerome Taylor bowled Friday Kasteni with the first ball of the second over before Vusi Sibanda was bowled inexplicably playing no shot to Daren Powell to leave Zimbabwe two for two.
Taylor struck again in the tenth over, Chamu Chibhabha beaten for pace, before Stuart Matsikenyeri paid the price for a poor shot off Devon Smith, his underhit slog going straight to mid-on.
Brendan Taylor teamed up with Williams in a period of consolidation for Zimbabwe, Taylor completing a patient 50 in 121 balls, before pressing the self-destruct button, run out at the non-striker's end after attempting an ill advised single.
Zimbabwe stepped on the accelerator in the final ten overs, Williams and Elton Chigumbura (30) combining well with a 60-run partnership to help set a challenging total.
Flintoff to test ankle
Vaughan in new injury blow