India, who were beaten by South Africa in their opening match, now face a mountainous task to reach the second phase, effectively needing to win all of their last three group games.
Controversy accompanied India's chase for a target of 253 after they were penalised for failing to bowl Zimbabwe's 50 overs in the time allowed, which meant India's batsmen had to make do with 46 overs to get the runs.
Even so, with five overs left they were strong favourites, needing 34 runs with three wickets in hand after the wicketkeeper Nayan Mongia's 28 off 24 balls.
Javagal Srinath then announced his intent by slinging a massive six over deep mid-wicket off Paul Strang, raising excitement to fever pitch among India's noisy, flag-waving following.
Srinath repeatedly the blow off Guy Whittall and the target fell to 18 off three overs and then nine off two.
Zimbabwe's fielding, meanwhile, had been shambolic and, with India still holding three more lives, it seemed inconceivable that they would lose.
Their supporters - making up most of a crowd of 5,500 - could hardly wait to rush across the field, confident that the loss of Sachin Tendulkar would prove to have been no handicap.
However, then disaster struck for the Indians as Henry Olonga, a raw 22-year-old who has the distinction of being the first black player to represent Zimbabwe, turned the match on its head.
When Robin Singh drove him straight to cover, having taken 35 off 47 balls in what seemed to be the crucial innings, India still held the upper hand, but then Srinath, anxious to finish the job, lost his wicket attempting to drive the fifth ball of the over the top, and suddenly the outcome was completely in the balance.
Four needed, seven balls remaining. A nudge here, a firm push there would do it. Instead, Olonga produced the best ball of his four overs, rapping the front pad of a flat-footed Venkatesh Prasad and bringing a raised finger from the umpire, Peter Willey, that may well have killed off India's hopes.
Until then, it seemed that the absence of Tendulkar - taken away by the sudden death of his father at home in Bombay - had been overcome. Sadagopan Ramesh, the 23-year-old batsman given the task of filling the breach at the top of the Indian order, had answered the call with a perfectly measured 55 as India raced ahead of the required scoring rate.
Zimbabwe's bowling was mixed, their fielding at times amateurish. Only Heath Streak and Grant Flower managed much effective containment, but the Indian batsman Ajay Jadeja made them pay for a missed stumping chance when he was on five by reaching 43 before Streak finally saw him off.
When they batted, they had been best served, not for the first time, by the Flower brothers, Grant giving their innings strong foundations and Andy some fabric in a total which, on recent records against India - they had won four times to India's five in their 10 most recent meetings - they would have backed themselves to defend, if not in the way that ultimately transpired.
Both camps will no doubt have something to contribute to the debate over balls called wide, following another shoal of extras here - 90 in total - swelling the totals for both sides in almost equal measure and, more significantly, disrupting the time schedules to India's disadvantage.
With 21 wides called in addition to 16 no-balls, India's bowlers overran their limit. The four-over penalty that their batsmen incurred made a crucial difference - and ultimately the need to make runs quickly proved to be their undoing.Reuse content