Sri Lanka's seamers set up a thrilling finish to the second Test against South Africa after closing day two on 2-60 in pursuit of a target of 197 on Friday, leaving the series finely balanced at St George's Park.
Eighteen wickets fell on the second day, the most at this ground since 1914, as first Sri Lanka capitulated to 154 in their first innings and then skittled their hosts for 128 in South Africa's second visit to the crease.
Oshada Fernando (17no) and Kusal Mendis (10no) will push for victory on the third morning, but with 31 wickets having fallen in six sessions, South Africa will still feel in the game.
The struggles of the batsmen on both sides would suggest a difficult wicket, but while there is some seam movement and bounce, it is not the minefield those numbers suggest.
Sri Lanka started their second innings an hour before the close and took the score to 32 before Lahiru Thirimanne (10) nicked fast bowler Kagiso Rabada to wicketkeeper Quinton de Kock.
Two runs later Duanne Olivier found the edge of Dimuth Karunaratne's bat when he had 19.
The home side were not able to prise out any more wickets before the close as they seek to win the Test and avoid a first-ever home series loss to a side from Asia.
Sri Lanka had resumed in the morning session on 3-60 in their first innings but were bowled out within 90 minutes as Rabada (4-38) proved chief destroyer.
The visitors clearly had a plan to attack the home bowlers and scored 94 runs in 17.4 overs, but could not stem the fall of wickets.
That gave the home side a first-innings lead of 68, but they were unable to capitalise after being skittled for 128 in their second innings.
South Africa's top order has battled all season and struggled again as they slipped to 5-91 on the stroke of tea.
Hashim Amla (32) provided some resistance before he edged part-time spinner Dhananjaya de Silva (3-36) to slip, while skipper Faf du Plessis (50no) ended the innings as top scorer but ran out of partners.
Suranga Lakmal (4-39) and Kasun Rajitha (2-20) were excellent as the rampant tourists bowled out the home side in 44.3 overs, their second lowest completed innings score at home since being skittled for 96 by Australia at Newlands in 2011 - a test they won.