South Africa were 73 for one at lunch after winning the toss and batting in overcast conditions on a pitch which offered pace and bounce to the bowlers.
Van Zyl and Dean Elgar survived some hostile bowling, notably from Steven Finn. They put on 44 for the first wicket before Stokes came into the attack and struck with his third delivery.
Stokes sent down an innocuous-looking, short delivery which Van Zyl attempted to work to leg, only to get a leading edge which presented an easy catch for wicketkeeper Jonny Bairstow, who had to jog to a short square leg position to take the offering.
Dane Vilas flew from Port Elizabeth on Thursday morning to replace De Kock, arriving at the ground shortly before the first drinks break.
South Africa included a new cap, fast bowler Hardus Viljoen, 26, in a four-man pace attack with part-timer Dean Elgar the only spin bowler in the side.
England named an unchanged team, with opening batsman Alex Hales having recovered from a stomach bug.
De Kock slipped and sprained his right knee at home late yesterday, only realising it was serious when he woke up after midnight in pain and with a swollen knee.
