Sri Lanka extended their lead to 451 runs in the second cricket test against South Africa, reaching 237-4 in its second innings at lunch on day three at the Sinhalese Sports Club grounds.
South Africa, who have not lost a test series to Sri Lanka since 2006, toiled hard Sunday but now face the improbable task of needing to complete a record fourth-innings run chase to square the series on a deteriorating pitch.
The highest successful run chase in test cricket is 418 made by West Indies in Antigua in 2003.
Resuming from the overnight score of 151-3 three, Dimuth Karunaratne and Angelo Mathews extended their fourth wicket stand to 63 runs before Lungi Ngidi made the breakthrough.
Ngidi, who replaced Dale Steyn from Tennis Court End, struck with his first ball as Karunaratne chased a wide delivery and was caught by Quinton De Kock. With that dismissal, the wicketkeeper completed 150 dismissals, becoming the fastest man to do so in 35 tests overtaking Australia's Adam Gilchrist, who had reached the milestone in 36 tests.
South Africa also had a chance to dismiss Roshen Silva as he struggled against Keshav Maharaj. The left-arm spinner found the outside edge of the batsman but the ball flew between first and second slips.
Mathews reached his half-century in 86 deliveries and at lunch was unbeaten on 53, with Silva 19 not out.
Sri Lanka won the first test in Galle by 278 runs.