Dale Steyn got an early breakthrough for the Proteas. Photo: Leon Lestrade/African News Agency/ANA

DURBAN Kusal Perera hit his second half-century of the match to keep Sri Lanka's hopes alive on the fourth day of the first Test against South Africa on Saturday.

Perera made 56 not out as Sri Lanka reached 166 for five at lunch, 138 runs short of a victory target of 304.

Dale Steyn made South Africa's only breakthroughs on a hot, humid morning at Kingsmead when he took two wickets in the space of three balls in the tenth over of the day.

Steyn had Oshada Fernando caught at second slip by Faf du Plessis after the debutant made 37 and shared a fourth-wicket stand of 58 with Perera. Two balls later Niroshan Dickwella pushed forward to Steyn and the bowler held a sharp, right-handed return catch.

South Africa were without opening bowler Vernon Philander, who was sidelined on Saturday with what was described as a "hamstring niggle".

The left-handed Perera, who made top score of 51 in the first innings, was joined by Dhananjaya de Silva (25 not out) in a sixth wicket partnership which was worth 56 at lunch. Perera had faced 91 balls and hit seven fours.