The downpour during the lunch hour meant play could not resume at its scheduled time for the second session.
Sri Lanka were 108-3 at lunch for an overall lead of 247 with seven wickets in hand.
The hosts had scored 421 in their first innings before bowling out South Africa for 282.
South Africa are 1-0 up in the series after winning the opener in Galle by 153 runs.