Debutant opener Kevin Kasuza scored 63, while Prince Masvaure and Craig Ervine also notched up half-centuries, after Zimbabwe won the toss and opted to bat.
The 26-year-old right-handed Kasuza looked comfortable at the crease and rotated the strike well with fellow opener Masvaure (55) to keep the score ticking along at Harare Sports Club. The pair put on 96 runs for the first wicket before Masvaure was dismissed by spinner Lasith Embuldeniya (1-69), caught comfortably by Sri Lanka captain Dimuth Karunaratne running from mid-off.
Kasuza was joined by the experienced Ervine, who started slowly before taking the attack to the Sri Lanka bowlers. Ervine, who took a particular liking to the bowling of spinner Dhananjaya de Silva, hit three boundaries and three sixes and was 55 not out at the close of play.
Brendan Taylor is the other batter at the crease on 13 not out
Kasuza, who rode his luck after he was dropped while on 30, was out when he was trapped leg before by Lahiru Kumara's full toss just after the drinks break.
"It's difficult to score in international cricket so I just said to myself I need to knuckle down," Kasuza said. "I wasn't under pressure at all because behind the scenes I have been working very hard."
Zimbabwe is playing in its first test match since November 2018. It is also the Zimbabweans' first international assignment after the African country was slapped with a ban by the International Cricket Council last year, a sanction which was later lifted after conditions for reinstatement were met.