Group A, Harare, India 255-7 (50 overs) beat Zimbabwe 172 all out (44.4 overs) by 83 runs
India produced a stunning display in the field to reduce Zimbabwe to a galling defeat in front of their home crowd.
Sachin Tendulkar helped the Indians to 255 with a sublime 81.
And captain Sourav Ganguly's three wickets and two each from Javagal Srinath, Harbhajan Singh and Zaheer Khan ensured a much needed win.
Public support had dramatically waned back in India after they failed to convince in their win over Holland and were thrashed by Australia.
But Tendulkar and Sehwag set India on their way to victory in some style.
Both batsmen were in excellent touch, keeping the run-rate near to six an over in part due to some inconsistent bowling during their 99-run first-wicket partnership.
They were parted when Sehwag nudged the ball into the gloves of Tatenda Taibu off Guy Whittall.
Tendulkar continued to unleash an array of stunning shots around the ground in his 92-ball innings, including 10 boundaries.
But the introduction of Grant Flower produced a miniature collapse.
First Dinesh Mongia was caught by Douglas Hondo and then Tendulkar was tricked by an excellent spin delivery from Flower, which clipped the off-stump.
Ganguly (24) and Rahul Dravid (43 not out) kept the scoreboard ticking over, while a quick-fire 25 off 24 balls by Mohammad Kaif ensured a respectable total.
In reply, Zimbabwe had a dire start when Mark Vermeulen edged a Javagal Srinath delivery to Rahul Dravid.
Srinath struck again to send Craig Wishart marching, paving the way for Grant and Andy Flower to take up the run chase.
But neither brother could find their way past some excellent fielders.
Ganguly, who made some stunning bowling changes, introduced Harbhajan Singh who immediately bowled danger man Andy Flower.
Flower had worn a black wristband to continue his protest against Zimbabwean President Robert Mugabe.
But undoubtedly the finest bowling change was that of Ganguly himself.
Grant Flower and Dion Ebrahim were removed in successive deliveries by the Indian captain and Andy Blignaut followed two overs later, caught by a sprinting Dinesh Mongia.
With the scores at 84 for six, Zimbabwe looked in danger of a monumental defeat before Whittall put on 40 runs with Tatenda Taibu.
But Whittall's departure in the 32nd over effectively ended any distant hopes of a home win as the required run rate went to 12 an over and the wickets kept on tumbling.
Zimbabwe: HH Streak (Capt), CB Wishart, MA Vermeulen, A Flower, GW Flower, DD Ebrahim, GJ Whittall, T Taibu (Wkt), BA Murphy, AM Blignaut, DT Hondo.
India: S C Ganguly (Capt), V Sehwag, SR Tendulkar, R Dravid (Wkt), Yuvraj Singh, M Kaif, D Mongia, A Nehra, Harbhajan Singh, Z Khan, J Srinath.
Umpires: E A R de Silva and R E Koertzen.