A spectacular 62 from Chris Morris proved decisive as South Africa edged a thrilling one-day international against England by one wicket in Johannesburg on Friday to set up a series decider.
Joe Root looked set to prove the match-winner at the Wanderers, his masterful 109 rescuing England from an alarming batting collapse that saw five wickets fall for 19 runs.
South Africa then stumbled to 210-8 in pursuit of 263, with several batsmen guilty of failing to convert starts. However, Morris took full advantage of being dropped by Adil Rashid off Reece Topley on 14, the powerful all-rounder thumping four sixes in a brutal 38-ball innings that took his side to the brink of victory.
Morris was dramatically bowled by a Rashid googly with one run required, but Imran Tahir - who had been central to England's earlier slump - cut the next delivery for four to maintain South Africa's record of having never lost a 'Pink ODI' - in which they wear a pink kit to support World Cancer Day.
The five-match series is therefore locked at 2-2 ahead of Sunday's final contest at Newlands.
Woakes was one of two men recalled to England's line-up, with Stuart Broad back for his first ODI since the 2015 World Cup.
At a venue synonymous with high scoring, a routine home win appeared in prospect when the tourists reached the halfway point of their innings on 108-6.
Root and Alex Hales (50) shared 69 for the second wicket, the latter recording a fourth half-century in the last four ODIs, but Tahir (3-46) then struck three times in quick succession and there were also two wickets in as many overs for Kyle Abbott (2-57).
The assured Root, who hit 10 fours and one maximum, remained unruffled and received able support from Woakes (33) in a seventh-wicket partnership of 95. Rashid provided further impetus with 39 from 26 balls, before becoming a fourth victim for Kagiso Rabada (4-45).
Broad then bowled Hashim Amla via an inside edge for a duck in the first over of the reply and England struck at regular intervals thereafter to keep their hopes alive.
AB de Villiers (36) and JP Duminy (31) were both dropped early on, but two moments of magic in the field left South Africa in trouble.
De Villiers was brilliantly run out by Woakes, fielding off his own bowling, and Topley followed up Rashid's dismissal of Duminy by taking a sharp return catch to oust Farhaan Behardien for 38.
England were clear favourites when David Wiese (21) and Rabada (0) each departed in the space of four deliveries, but the big turning point was still to come.
A sliding Rashid put down Morris in the deep off Topley two balls after Rabada's exit. And Morris ruthlessly capitalised on the error, clubbing sixes off four different bowlers in a performance that illustrated why the Delhi Daredevils made him a big-money purchase in the recent Indian Premier League auction.