CAPE TOWN: Ben Stokes and James Anderson hit personal milestones to help England fight its way back into the test series against South Africa on Sunday. Stokes equalled the world record for a fielder with five catches in South Africa's first innings. Anderson took 5-40 to finish off the home team, which was 223 all out, and England's batsmen had built a 98-run lead by lunch on Day 3 of the second Test at Newlands. There was still plenty of batting to come for England. The tourists were 52-1 in their second innings after Zak Crawley gave them a meaningful start with his 25 off 35 balls with five fours. He edged behind off Kagiso Rabada but fellow opener Dom Sibley (18 not out) and Joe Denly (9 not out) kept advancing England's cause, albeit more cautiously than Crawley. South Africa won the first test to lead the four-match series but England now has a strong chance to draw level in Cape Town. Anderson's five-wicket haul was his 28th in test cricket, now the most by an England player after overtaking Ian Botham. Anderson is alone in seventh on the all-time list. Stokes took all his five catches at second slip to become the 12th fielder — not including wicketkeepers — to take five in an innings. Australia's Steve Smith was the last player to do it in test cricket. His five catches also came at the Cape Town ground in 2018. No fielder has taken more in a Test innings. England needed just over four overs to end South Africa's first innings at the beginning of the day. Anderson had Rabada caught behind for a first-ball duck off the first ball of the day to signal the way the first session was going to go. England's most successful Test bowler wrapped it up when Anrich Nortje sliced a thick edge to give Stokes his record-equaling catch. England made 269 in its first innings after winning the toss and batting. South Africa was 215-8 overnight and added just eight more runs.