Angelo Mathews and Kusal Mendis both struck measured half-centuries as Sri Lanka reached 295 for four at the close of play on a stodgy third day of the first Test against Zimbabwe in Harare on Tuesday.
Mendis battled his way to 80 while former skipper Mathews was far from fluent in reaching 92 not out from 253 balls as Sri Lanka closed 63 runs in arrears on the first innings with six wickets in hand.
With two days remaining, the visitors appear to hold the upper hand although the pitch looks likely to have the final say.
The Sri Lankan batsmen struggled hard all day to impose themselves, scoring 82 in the morning, 81 in the afternoon and 90 in the evening while losing a single wicket in each session.
The 24-year-old Mendis struck eight boundaries in his 163-ball innings, including three off successive deliveries from Sikandar Raza, before flashing at an outswinger from debutant Victor Nyauchi that flew to Brendan Taylor at first slip.
It marked a second success for Nyauchi who collected his first wicket in Test cricket during the morning session when Sri Lanka captain Dimuth Karunaratne flicked a low catch to Ainsley Ndlovu at midwicket.
Nyauchi was the pick of the attack, taking two for 38 from 22 overs.
Karunaratne had resumed his partnership with Mendis after bad light stopped Monday's play with Sri Lanka on 42 for one.
They added 60 before Mathews joined Mendis in a third-wicket partnership of 92.
Mathews hit three fours and two towering sixes off Ndlovu and the left-arm spin of Zimbabwe captain Sean Williams.
The only wicket to fall in the final session was Dinesh Chandimal who only made 12 before being dismissed on review after umpire Marais Erasmus initially gave him not out.
Attempting to attack the spin of Williams, Chandimal got himself into a tangle and bottom-edged the ball on to his boot, leading Erasmus into thinking it was a bump-ball.
The ball lobbed back to Williams who gratefully accepted the catch.
Zimbabwe delayed taking the second new ball until the 88th over and in spite of Kyle Jarvis beating the bat on several occasions, failed to make another breakthrough.
Their medical team will make a decision on Wednesday on whether Kevin Kasuza is fit to continue in the match.
Kasuza was struck on the back of the helmet at short leg by a pull from Mendis just before lunch.
He left the field shortly after and scans showed that, while not suffering concussion, he sustained a soft tissue injury on the skull.
He will undergo further tests in the morning.