The tourists raced to the modest target of 145 with nearly 20 overs to spare after skittling the Zimbabwe top order and bowling out the home side for 144 at Queens Sports Club.
Only an unbeaten half-century from Elton Chigumbura saved Zimbabwe from a more emphatic defeat.
India have won all four ODIs in the series by a comfortable margin.
Suresh Raina scored 65 not out and Robin Sharma an unbeaten 64 as India chased down the target in 30.5 overs for the loss of only debutant Cheteshwar Pujara.
"There was something in the wicket early on and we sought to extract that, and the bowlers did that to good effect," India captain Virat Kohli said.
Debutant Mohit Sharma took the first wicket in the seventh over and there was a steady procession of batsmen back to the pavilion thereafter as Zimbabwe slumped to 47 for five in just the 16th over.
Chigumbura and Malcolm Waller restored some pride, though at a pedestrian pace, with their 80-run partnership taking more than 20 overs.
Waller was eventually caught behind off Mohit Sharma for 35 but Chigumbura went on to reach 50 just before the last wicket fell.
In reply India began sluggishly, but once Pujara departed Raina and Robin Sharma sought to finish off proceedings early.
"It was all about giving the guys who haven't had a decent bat time in the middle and a chance to give it a go," Kohli said.
A fourth successive hammering, albeit from the world champions, left Zimbabwe captain Brendan Taylor perplexed.
"It's frustrating on a pretty good batting wicket (not to make runs)," he said at the post-match presentation.
"We can't find the answers. We've done the hard work in practice but come up short again. It's got to be the mental side weighing us down."
The final match of the series is at the same venue on Saturday.