Moeen Ali and Stuart Broad made telling contributions with bat and ball to leave England in charge of the first Test against South Africa after Day 2 on Friday. Ali scored 87 and Broad smashed an unbeaten 57 off 47 balls as England added 101 runs to its overnight score before being dismissed for 458. Joe Root, in his first Test as captain, was out for 190.
The Proteas' reply began badly and they were stuttering at 104-4 just after tea on a decent-looking pitch thanks to two wickets apiece from Broad's pace bowling and Ali's offspin.
Tenda Bavuma and Theunis de Bruyn put on a 99-run stand for the fifth wicket to lead South Africa's recovery, looking compact defensively and hitting the bad balls, but De Bruyn nicked James Anderson behind in the fifth-to-last over of the day to set back the tourists once again.
Bavuma was unbeaten on 48 and South Africa trailed by 244 runs on 214-5, facing an important morning's play on Saturday against the new ball.
Ali became the seventh — and second-quickest — English player to pass 2,000 test runs and take 100 test wickets, passing both milestones on Friday.
"It's a great feeling to do it on the same day at Lord's," Ali said.
"We're in a good position. The wicket of Jimmy's at the end was a massive one."
Resuming alongside Ali with England on 357-5, Root added only six runs to his overnight score of 184 — already a record by an England player in his first Test as captain — before edging behind a delivery from Morne Morkel on the first ball of the day's third over.
Root looked thoroughly miserable as he walked off to a standing ovation, having missed the chance to register a second double century at Lord's after one against Sri Lanka in 2014.
Morkel trapped the recalled Liam Dawson lbw for a duck two balls later before England counter-attacked through Ali and Broad, who added 46 runs for the eighth wicket — mostly through swipes to the boundary from Broad.
South Africa paceman Kagiso Rabada bowled Ali and trapped Mark Wood lbw (0) in the space of three balls but Broad continued his assault, smashing Morkel for successive sixes to bring up his first Test half-century in four years.
Anderson was the last man out for 12, edging Morkel behind after sharing a 45-run last wicket partnership. Broad struck eight fours as well as his two sixes.
South Africa lost Heino Kuhn (1) and Hashim Amla (29) before tea then captain Dean Elgar (54) prodded forward to Ali and clipped the ball straight into Gary Ballance's chest and then hands at short leg.
When Broad got a ball to jag back off the seam and trap JP Duminy leg before for 15, the South Africans were really up against it, only for Bavuma and De Bruyn to briefly steady the innings.
Broad had 2-27 and Ali 2-35.