Tatenda Taibu (53), Vusi Sibanda (61) and Craig Ervine (66) notched up half-centuries to take their team to 308 for six after captain Elton Chigumbura won the toss and opted to bat first at Eden Gardens.
Taibu and Sibanda laid the foundations for Zimbabwe with a 110-run partnership for the third wicket after they had lost both their openers inside the first 10 overs.Ervine then added 105 runs for the fifth wicket with Chigumbura to take Zimbabwe towards a solid total.
Greg Lamb and Prosper Utseya finished the innings in style, adding 32 runs off the last two overs to take the total past the 300-run mark.
For Kenya, Steve Tikolo, 39, captained the side for the injured Jimmy Kamande in his last ever international.
Both teams are playing in their final match in the competition as they cannot progress any further. Kenya are seeking their first win in this tournament.