Replying to India's 489 all out, Zimbabwe were dismissed for 338, just two runs short of avoiding a follow on, with overnight batsman Taibu doing bulk of the scoring at the Harare Sports Club.
The hosts will have to do a lot of work on the last day to avoid an innings defeat and their cause was not helped as they lost opener Tinotenda Mawoyo for a duck in the second innings just before the close of play.
Resuming on 129 for 4, the Zimbabwe side lost two early wickets to slump to 136 for 6, still trailing by 353 runs.
Then began a fine rearguard action with captain Prosper Utseya joining former national skipper Taibu to raise hopes of making the visitors bat again.
The duo defied the Indian bowlers for close to three hours and added 128 runs for the seventh wicket.
It was legspinner Piyush Chawla who broke the partnership when he caught and bowled Utseya with Zimbabwe still needing 76 runs still to avoid follow on.
Taibu took his side's score within six runs of 340 needed to avoid follow before he was ninth out, bowled by Chawla between bat and pad.
Taibu's hundred came from 245 balls and was studded with 11 fours.
Last man Christopher Mpofu couldn't handle Chawla's legspin for long and the Indians dismissed the hosts for 338 to enforce the follow-on.
Chawla was the star performer for India 'A' snapping up 4 for 40 off 22 overs. Irfan Pathan and Yo Mahesh picked up two wickets apiece for 80 and 67 respectvely while Rajesh Pawar and VRV scalped one wicket each.
After this game, the two sides square up in another four-day match at the Queens Sports Club in Bulawayo, starting on Monday.
India 'A' 1st Innings: 489 all out (Robin Uthappa 88; Parthiv Patel 67; Mohd. Kaif 63; Rohit Sharma 66; S Bandrinath 62; Piyush Chawla 58; Mpofu 3 for 90, Rainsford 3 for 82) Zimbabwe Select: 338 for four (Tatendu Taibu 123, Prosper Utseya 53, Hamilton Masakadza 38; Piyush Chawla 4 for 40, Irfan Pathan 2 for 80, Yo Mahesh 2 for 67) and 15 for 1.