Oshada Fernando’s attacking century for Sri Lanka A thwarted South Africa A on day two of the first four-day match in Kimberley.
The right-hander recorded 122 off 146 balls, including 21 boundaries, to help his side reach stumps on 232-4, 140 runs behind the hosts, who were earlier dismissed for 372.
Matthew Breetzke extended his unbeaten overnight score from 112 to 129 (213 balls, 11 fours), though the home side would be disappointed they did not get more runs from their day one position of 294-4.
They lost Patrick Kruger for 20 early on, before their star centurion was finally out with the score on 336.
The lower order offered little resistance with only wicketkeeper Rivaldo Moonsamy (34*) getting to double figures as the South Africans succumbed in 108.2 overs.
Seamer Eshan Malinga was the pick of the visiting bowlers after collecting 4-65.
The hosts then managed to get two key wickets cheaply as Lahiru Udara was bowled by Migael Pretorius (1-47) for 12 and Nuwanidu Fernando was caught by captain Neil Brand off spinner Prenelan Subrayen (1-38).
But a big third-wicket partnership of 153 between Oshada and captain Pasindu Sooriyabandara (61 off 110 balls; six fours) forced the visitors back into the game.
Brand (1-29) and Kruger (1-17) did manage to take the two key men out late in the day to give the home side the edge at the halfway stage of the match.
Photo: Danie van der Lith/Gallo Images