Zimbabwe needed 16 runs of the last over with four wickets in hand.
A leg by and a wicket later, they sill needed around 15 runs off four balls. But Ngarava had other ideas and smashed a four and a six off successive deliveries.
Bangladesh set Zimbabwe 151 run target
Opener Najmul Shanto scored a maiden Twenty20 half-century Sunday to help steer Bangladesh to 150-7 in their World Cup Super 12 game against Zimbabwe at Brisbane’s Gabba ground.
After a slow start in which Bangladesh made just 63-2 off the first 10 overs, Shanto led the charge to smack 40 off the next five before he fell for 71 with seven fours and a six in his 55-ball knock, helped by some sloppy fielding.
Afif Hossain chipped in with 29 with Blessing Muzarabani the pick of the bowlers on 2-13.
Fresh from their stunning last-gasp, one-run upset over Pakistan, a win for a confident Zimbabwe would put them top of Group 2, at least temporarily.
Table-toppers India face South Africa later while Pakistan meet the Netherlands in a must-win game, both clashes in Perth.
Bangladesh, ranked two spots higher than Zimbabwe, are looking to bounce back from a heavy 104-run defeat to South Africa and keep themselves in the hunt for a semi-final place.
Skipper Shakib Al Hasan won the toss and chose to bat on a glorious day only to see opener Soumya Sarkar out in the second over without scoring, caught behind off pace bowler Muzarabani.
Shanto was in good touch, smacking two early boundaries as he put on 22 with Liton Das before Das ballooned a catch to Tendai Chatara off a slower delivery from Muzarabani.
It left Bangladesh on 32-2 after the six-over powerplay, where only two fielders are allowed outside the 30-yard circle.
Despite some scratchy fielding, Zimbabwe bowled economically on a fast and bouncy track to keep the score down to 63-2 at the halfway stage.
But once past that mark, Bangladesh became more aggressive and rotated the strike well with Shanto reaching his first T20 50 off 45 balls – Bangladesh’s first half-century of the tournament.
Al Hasan, who has played in every T20 World Cup since its inception in 2007, survived a run-out chance on 23 at the other end but fell five balls later, caught brilliantly by Muzarabani from spinner Sean Williams, snapping a 54-run partnership.
Shanto kept going alongside Hossain then holed out to Craig Ervine before Bangladesh took 47 from the last five overs.