Galle - South Africa struck two key blows before lunch on day three, to claim the morning honours on the third day of the first Test against Sri Lanka on Friday.
The hosts resumed on 30 without loss, but Dale Steyn soon had Kaushal Silva caught on the hook by Vernon Philander at long leg.
Silva's opening partner, Upul Tharanga, went to a steady 50 off 100 balls, in his first appearance for the Test side since 2007. Kumar Sangakkara was looking ominous as he made his way to 24, but a brief stop for rain seemed to break his concentration, and he chopped on a Morne Morkel lifter when play resumed.
Steyn then nabbed the key wicket of Mahela Jayawardene on the stroke of lunch, to leave the hosts on 104 for 3, still 351 runs adrift.