Steven Finn (3-27) reducerade värdarna till 136-4 efter att England hade satt dem 416 - den näst högsta jakten någonsin - för att vinna.
Tidigare slog Jonny Bairstow 79 - hans bästa testresultat i tre år - och Joe Root 73 när England nådde 326 i deras andra innings.
England är tunga favoriter för att tjäna en sällsynt bort vinst, men nyckel fladdermöss AB de Villiers förblir obesegrad på 37.
Han blev tillrättavisad sex gånger innan slutet när Bairstow missade en svår chans att stubba honom från Moeen Alis bowling.
Alastair Cooks män har bara vunnit ett av sina 15 senaste tester utomlands, men de har konsekvent spelat ut världens topprankade testsida i denna match.
Proteas, tiden, har oro över kapten Hashim Amla, som återigen misslyckades med fladdermusen, och talismaniska snabb bowlaren Dale Steyn, som inte bowla efter att ha skadat axeln på tredje dagen.
England återupptog på 172-3, 261 kör framåt, letar efter snabba körningar för att ställa Sydafrika ett utmanande mål, och i det sammanhanget Bairstow snabba innings var extremt värdefullt.
Att spela med imponerande flyt på en wicket som poäng i allmänhet har varit svårt och långsamt, Yorkshire fladdermössen slog nio fyror och tre sexor.
Det var en betydande knackning från Bairstow, som fortfarande försöker etablera sig som en permanent fixtur i denna England sida framför rivaliserande Wicketkeeper-batsman Jos Buttler.
Men han kunde inte spela in sin jungfru Test century, hämna ut parti-timer Stiaan van Zyl - som slutade med 3-20 - som han osjälviskt försökte påskynda med en förklaring i utsikt.
Tidigare, Root lagt till bara 13 kör till hans över natten poäng innan during Kyle Abbott att halka, fortsätter ett mönster av att misslyckas med att konvertera femtio till hundratals - antalet fyra har bara tre århundraden i 2015, trots att ha passerat 50 13 gånger.
Ben Stokes magra springa med fladdermusen fortsatte när han kantade Piedt att halka för fem - den åttonde gången han har misslyckats med att passera fem i sin senaste 13 innings - men Chris Woakes bidrog 23 i en användbar cameo.
Värdarna började bra med fladdermusen, med första innings centurion Dean Elgar och Van Zyl knäcka åtta gränser i de första nio overs när de tävlade till Sydafrikas första 50 partnerskap för öppning Wicket i nio innings.
Men Stokes tog bort Van Zyl strax före teet, nippande en leverans mellan fladdermus och pad.
Sedan var det över till Finn, som fortsatte sin fina wicket-taking form sedan återkallas till sidan på sommaren med en fantastisk utbrott i kvällssessionen.
Först lockade han den oformiga Amla att jaga en bred leverans och kant bakom, sedan fick han Elgar skära en full leverans till Root, som höll en skarp fångst på andra slip.
Och i finalen över dagen, avslutade han motståndet av Faf du Plessis, producerar en vacker leverans som fyrkant fladdermössen upp och var kantad till Cook vid första slip.
Finn ser nu ut som en tung favorit för att behålla sin plats framför Woakes om James Anderson återvänder från skadan för det andra testet, som börjar i Kapstaden på lördag.
Hans karriär strejkfrekvens i Tests står nu på en wicket var 46,3 bollar - sekund till Steyn bland aktiva bowlare.
Den enda fläcken i kvällssessionen var en svår slump som Bairstow missade, som reprived De Villiers på 33, när bollen svängde kraftigt från utsidan utanför stubben och studsade över mitten.
BBC:s cricketkorrespondent Jonathan Agnew: " Jonny Bairstow slog bra. Han har varit den enda smeten med någon fluens i matchen. Han överraskade människor med sin timing på denna mycket långsamma tonhöjd, som ingen har kunnat komma på toppen av.
"Problemet är att han missade en stubbe, och jag misstänker att det kan vara det för vilket hans bidrag till denna match är ihågkommen.
"Det var inte enkelt, han hade bara en bråkdel av en sekund att se det, men Test cricket är den högsta nivån och AB de Villiers är den viktigaste fladdermusen.
"England har bowlat bra på en tonhöjd som har blivit lite godartad, men när fladdermöss vill slå dem är de svåra att vinna ut och man måste bara ta varje halv chans."
Mediauppspelning stöds inte på den här enheten
England bowler Steven Finn på BBC Test Match Special: "Det är trevligt att vara med när du kommer tillbaka till laget. Jag mådde bra och kände att jag hotade. Det var viktigt att bryta det envisa partnerskapet i slutet. Efter teet byggde vi mer tryck och min wicket i slutet var ner till det hårda arbetet av alla bowlare.
"Vi är glada att ha dem fyra nere. Vi skulle ha velat ha mer men kan inte klaga på den position vi befinner oss i och förhoppningsvis kan vi komma tillbaka i morgon och hävda oss ytterligare.
"De har fortfarande några högkvalitativa spelare att komma med Test hundratals till sina namn. Uppenbarligen De Villiers skulle vara en nyckel Wicket att få eftersom han är en så bra spelare. Varje kväll har lag varit tre eller fyra ner och inte varat mycket längre än en timme efter lunch. Om vi kan följa att vi kommer att vara glada men vi förväntar oss inte det och vet att vi måste skåla som vi gjorde efter te idag."
Ex-England öppnare Geoffrey Boycott på BBC Test Match Special: "England hade en underbar dag. Root och svansen fick oss att sluta bra och sen var det Bairstow-showen. Tidpunkten för hans skott var utmärkt. Han spelade den första och andra innings perfekt och han var den enda fladdermössen som spelade med någon fluens.
"Finn och Moeen har gåvan att få Wickets. Finn får fyra wickets en Test match - det är enorm. Han spelade i mitt lag varje gång.
"De Villiers är en klass isär, han har bara så mycket tid att spela, har ett brett utbud av skott och ser bekväm ut. Mindre spelare spelar och missar en udda tid, men han ser inte i några problem och det är en överraskning när han gör ett misstag. Han är den stora fisk de behöver för att få imorgon."
England behöver sex wickets den sista dagen för att slutföra segern i det första testet mot Sydafrika i Durban.