Captain Sean Williams scored a sparkling century as Zimbabwe profited from a docile wicket to reach 352 for six at the close of play on day one of the second and final Test against Sri Lanka at the Harare Sports Club on Monday.
Williams struck 10 fours in his score of 107 from 137 balls, his second Test ton, before giving his wicket away late in the day when he was bowled by spinner Dhananjaya de Silva attempting a slog sweep.
Regis Chakabva (31 not out) and debutant Tinotenda Mutombodzi (10 not out) will resume the home side's innings on the second morning.
After winning the toss and electing to bat, Zimbabwe lost Prince Masvaure (9) and Craig Ervine (12) inside the first 20 overs, before Kevin Kasuza (38) and Brendan Taylor (62) put on 65 for the third wicket.
They departed in quick succession though, both victims of Sri Lanka seamer Suranga Lakmal (2-31) who was the pick of the tourists' bowlers on an unhelpful wicket.
But Williams and Sikandar Raza (72) produced an excellent stand of 159 from 211 balls for the fifth wicket as they took the attack to the visitors.
It was broken when Raza went for a big heave off left-arm spinner Lasith Embuldeniya and picked out a tumbling Angelo Mathews at long-on.
Had Williams held out to the close it would have been a highly satisfactory day for the home side, but he too played one attacking shot too many when more circumspection was needed.
Zimbabwe made it into the final hour on the fifth day of the first Test at the same venue earlier this month, but lost by 10 wickets on their return to the international arena having been briefly suspended by the International Cricket Council last year because of government interference.