Zimbabwe scored a second successive win over India by beating them comprehensively by seven wickets in the tri-series in Harare on Thursday.
Chasing a modest target (195), the home team raced to 197 for three with 70 balls (11.4) to spare.
The home side, which had beaten India in the tournament opener at Bulawayo last week, ensured the result was even more convincing on this occasion.
It was the first time in their history that Zimbabwe had beaten India twice in a row.The win also helped Zimbabwe earn a bonus point in their quest for a final place.
India's route to the final became tougher though. They have to beat Sri Lanka handsomely in their final match on Saturday if they are to qualify for the decider.
Brendan Taylor was again the contributor-in-chief in the Zimbabwe chase - contributing a well-made 74 while Hamilton Masakadza pitched in with an equally impressive 66.
The duo put on 128 runs for the opening wicket to douse any hopes India had of winning the match.
Buoyed by an excellent effort on the field (and the ball), the hosts began their innings on a confident note.
It was a well-planned chase.
The Zimbabwe openers began on a cautious note before slowly but steading tightening their stranglehold on the match.
The first five overs witnessed just 11 runs being scored, the next five saw them add a further 43 runs (54 in the first 10 overs) before 49 runs were added in the next 10 as the Zimbabwe openers put on a century stand and completely took the game away from the visitors.
Taylor reached his fifty with a single to long-off off Ravindra Jadeja.
It was his second successive half century against India, following his impressive match-winning effort (81) at Bulawayo.
Masakadza provided his in-form teammate with the necessary support as the duo made their intent clear.
The duo put on 128 runs for the first wicket in 26.3 overs before India secured their opening breakthrough - the impressive Pragyan Ojha having Taylor caught by Murali Vijay at long-off.
Taylor's 90-ball innings comprised of six hits to the fence and one over it.
Masakadza and Charles Coventry (20) put on 33 runs for the second wicket, with the former reaching his fifty en route, before Ravindra Jadeja struck twice.
A stunning catch at midwicket by Virat Kohli ended Masakadza's 86-ball innings. The opener hit four boundaries and two sixes.
In his next over Jadeja had Coventry caught by Yusuf Pathan at long-on.
But by then the hosts required just 25 runs from (16.4 overs) and the writing was on the wall for India.
Captain Elton Chigumbura (16 not out) and Tatenda Taibu (13 not out) ensured the visitors read it loud and clear, with the latter finishing the proceedings pulling Ashoke DDinda to the fence.
Earlier, Zimbabwe's bowlers put in an impressive performance to restrict India to a modest total. The visitors could only muster 194 for nine in their stipulated 50 overs.
The Indian batsmen displayed tremendous lack of application in the face of some disciplined bowling by the hosts.
The Zimbabwe bowlers, their spinners in particular, had the Indian batsmen in trouble at Bulawayo. It was an encore at Harare.
Ravindra Jadeja top-scored for India with a laborious 51. The left-hander's 72-ball knock was inclusive of three hits to the fence and two huge ones over it.
Just 18 runs came off the final five overs, while just 53 came off the final 10. These statitsics provide an apt description of India's vapid display with the bat.
The Indian openers were off to a cautious start, both Dinesh Karthik (33) and Murali Vijay (21) spending some time in the middle.
Karthik set the ball rolling when he dispatched a Raymond Price delivery over short fine-leg for the first boundary of the innings -- and that was going to be the lone boundary hit in first 10 overs, as the Indian openers showed no intent to up the tempo.
Karthik and Vijay had put on 58 runs for the opening wicket in 16.1 overs.
Greg Lamb then made a double breakthrough, first having Karthik (33) caught by Tatenda Taibu in the 17th over.
Lamb enticed a by-now-impatient Murali Vijay (21) out of the crease and Taibu did a clinical stumping to give Zimababwe their maiden breakthough in the 19th over.
What followed thereafter was a batting collapse.
Prosper Utseya had Virat Kohli (18) caught by Taibu before there were two run-outs in the space of eight balls.
Captain Suresh Raina (3) was was the first to go, while Rohit Sharma (13) also found himself short of his crease to compound India's woes.
The visitors were reduced to 96 for five after 28 overs.
Yusuf Pathan (15) and Ravindra Jadeja put on 32 runs for the sixth wicket before the former was trapped in front by Ray Price.
Pathan never looked comfortable during his short stay at the crease, and but for a six over midwicket off Graeme Creamer, his was a rather uncharacteristic knock.
Amit Mishra (0) survived a loud leg before appeal to the first ball he faced, but didn't last long -- Creamer having him caught by Coventry at long-on in the next over.
Jadeja and Ashok Dinda (16) put on 48 runs (in 44 balls) to put the Indian innings back on track before the latter was dismissed.
Dinda, dropped by Lamb off his own bowling in the 45th over, survived two balls more before hitting straight to Brendan Taylor at deep midwicket.
His dismissal reduced India to 176 for eight at the end of the 45th over.
Jadeja, in a desperate bid to accelerate, perished in the final over, caught at long-off by Hamilton Masakadza off Andy Blignaut.
Pragyan Ojha remained unbeaten on seven and Umesh Yadav on six.
Earlier, Zimbabwe won the toss and invited India to bat first.
The home team included the experienced Tatenda Taibu in the squad in place of Chris Mpofu, while India fielded the same squad that beat Sri Lanka in Bulawayo on Sunday.
India: M Vijay, D Karthik, S Raina, V Kohli, R Sharma, Y Pathan, R Jadeja, A Mishra, A Dinda, P Ojha, U Yadav.
Zimbabwe: H Masakadza, B Taylor, T Taibu, G Lamb, C Ervine, C Coventry, E Chigumbura, A Blignaut, A Cremer, P Utseya, R Price.