Stand-in captain Ajinkya Rahane and Murali Vijay both made half-centuries in a century opening to lead India to 271-8 batting first.Bhuvneshwar Kumar took 4-33, including the series-clinching last Zimbabwean wicket, as the host was all out for 209 in 49 overs in reply.
The comfortable victory in the second ODI followed a scare for India in the opener, when it won by just four runs in the last over.
But Sunday's success at Harare Sports Club allowed India, which is touring Zimbabwe with an under-strength team, to now move on from that recent slip-up in Bangladesh.
Rahane is standing in for regular skipper Mahendra Singh Dhoni, one of a string of front-liners rested for the limited-overs trip to Zimbabwe.
Indian batsman Ajinkya Rahane,left, and Murali Vijay touch gloves in the second one-day internationa ...
Rahane led from the front on Sunday with his 63, combining for a 112-run partnership with fellow opener Vijay, who made 72. Ambati Rayudu then hit 41 from No. 3, and although India didn't go on to post the big, 300-plus score that was on the cards, its total was still more than enough.
Seamer Neville Madziva claimed career-best bowling figures of 4-49 for Zimbabwe after being called in to the team, the only bowler to make any real inroads.
In Zimbabwe's reply, Chamu Chibhabha made 72, but the home team never properly recovered from losing three batsmen — including captain Elton Chigumbura — in the first 11 overs.
Chibhabha was run out by Rahane after going for a single and having to turn back, and Zimbabwe faded away after that.
Kumar wrapped up the solid win and the series when Donald Tiripano chipped a catch to Axar Patel at mid-off.
"It wasn't easy batting but we bowled well," Rahane said. "Our bowlers were up to the mark, they bowled in the right areas, and the fielding was right up there."
The final one-dayer is on Tuesday, followed by a two-game Twenty20 series.
Nepal sets formidable target of 291 runs for Zimbabwe in ICC OD...