Bavuma made 70 off 77 balls with seven fours as the Invitation team hit 287 all out in reply to the tourists' first innings of 196.
The match is the only warm-up for the Zimbabweans ahead of a one-off day-night Test against South Africa, starting in Port Elizabeth on Tuesday.
While it was a chance for the tourists to get used to playing with a pink ball under floodlights, it was also an opportunity for Bavuma to cement a place in South Africa's starting line-up in the Test.
Steyn not concentrating on record
Bavuma was the only one of South Africa's top five batsmen who did not make a big score in a recent series against Bangladesh.
With AB de Villiers returning to the Test side, Bavuma's position was under threat depending on the balance of the side to play Zimbabwe.
Captain Graeme Cremer was the most successful Zimbabwean bowler, taking four for 67 with his leg-spinners. Kyle Jarvis, Blessing Muzarabani and Chris Mpofu took two wickets each.
The match was evenly poised when the Invitation lost their ninth wicket on 197, a lead of one run, before Dayyaan Galiem and Shaun von Berg added a rapid 90 for the last wicket.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ