Rahul smashed a six off the last ball of the innings to finish on 100 not out from 115 balls and complete a dream debut.
India won the toss and sent Zimbabwe in to bat, restricting the home side to 168 all out one ball short of their 50 overs.
They were measured in their response but always in front of the rate and reached 173 for one wicket with 45 balls to spare.
The tourists lost another debutant, Karun Nair (seven), early on but an unbeaten 162-run second-wicket stand between Rahul and Ambati Rayudu (62 not out) made it an easy chase.
Zimbabwe had earlier struggled from the start of their innings as a cautious approach failed to stop them losing wickets at regular intervals.
Former captain Elton Chigumbura top-scored with 41 and seamer Jasprit Bumrah proved the pick of the Indian bowlers with four for 28 from 9.5 overs.
The second game in the three-match series is at the same venue on Monday.