South Africa 266 for 9 (Morris 62, Rashid 2-38) beat England 262 (Root 109, Hales 50, Rabada 4-45) by one wicket
Scorecard and ball-by-ball details
The ODI series between South Africa and England will be decided by the final match in Cape Town on Sunday after South Africa won an enthralling penultimate game by one wicket with 16 deliveries to spare.
After losing the first two matches in the series, South Africa have now won two in a row with Chris Morris justifying his recall for this match - and his lofty IPL price tag - with a match-clinching innings under pressure.
By the time South Africa lost their eighth wicket, they still required 53 to win and looked as if they were going to succumb to the sort of defeat that would do nothing to rid them of the tag of chokers.
The top three were all bowled by good deliveries - Stuart Broad, in his first ODI since the World Cup, persuading Hashim Amla to play on in the first over - but then AB de Villiers was run out responding to a panicky call for a single from JP Duminy - Chris Woakes capping a fine recall with a brilliant pick-up and throw off his own bowling - and the middle order were exposed for their lack of calm.
While Farhaan Behardien and David Wiese could probably be forgiven their inexperience, Duminy - not for the first time, befuddled by a spinner - looked oddly unsettled for a man playing his 150th ODI. But then Morris, driving fluently and picking up the short ball with impressive power, thrashed a maiden ODI half-century in just 30 balls to set-up the finale at Newlands.
Four times he seized on deliveries pitched fractionally short - one from each of England's seamers - to pull enormous sixes and suggest that perhaps the management of Delhi Daredevils (who bid $1m for his services a few days ago) are a better judge of a player's value than the South Africa selectors.
When he fell, beaten by a fine googly from Adil Rashid, the scores were level and Imran Tahir was able to cut his first delivery for four to clinch the victory.
In truth, South Africa should probably have won this game far more easily. At the halfway stage of the England innings, they had reduced them to 108 for 6 before a brilliant innings from Joe Root - and some far-from-ruthless captaincy - saw a partial recovery.
On a decent batting surface, the only quality South Africa were required to demonstrate in their run chase was calm. But, despite their talent, they succumbed to 210 for 8 against some impressive England bowling before Morris intervened.
Indeed, England may well feel they squandered a great opportunity to wrap up the series. They wasted two chances to be rid of Morris early - once on 14, when he was dropped by Adil Rashid off Reece Topley at mid-off, and once, on 16, when Eoin Morgan failed to hit the stumps from very close range.
Duminy, on 1, was also reprieved by Alex Hales, at second slip off Woakes, while de Villiers, on 9, was put down by Jason Roy at point off Broad. Jos Buttler also missed a stumping off Rashid when the Behardien had 15.
But England should reflect that they lost the game far earlier in the day. Having progressed to 87 for 1 in the 18th over, they suffered a dramatic collapse from which they never fully recovered.
It was, ironic though it sounds, the quality of the batting track that played a part in England's downfall. So aware were the top order of the need to push on and set a defensible total on a surface where something in excess of 300 might have been considered par that they were drawn into a series of highly aggressive strokes which cost them their wickets.
The turning point was the wicket of Hales. For the fourth time in the series, Hales made a mature half-century with his natural positivity tempered by enough restraint to give himself the best chance of success. But then, despite the presence of a man on the midwicket boundary - by far the longer of the square boundaries - he played a slog-sweep off Tahir only to see the ball carry unerringly to the fielder.
It precipitated a collapse that saw England lose five wickets for 21 runs in seven overs; a passage of play that defined the match.
Perhaps, if we admire the boldness of an England side that can make 400, we cannot carp if they sometimes fail in pursuit of such targets. They have certainly developed into an entertaining side. But England have become, in Blackjack terms, the team that says "hit me" in every situation. Maybe the more experienced gambler realises that sometimes 17 is enough to beat the house. Had they eked out another 10 runs in their final overs - rather than going down fighting with 13 deliveries of their innings unused - it may well have proved enough.
Defeat was poor reward for another masterful innings from Root. With his second century of the series and the eighth of his ODI career, Root added 95 for the seventh wicket with Woakes in 16.4 overs to resurrect England. With Adil Rashid also contributing a swift 39, England's lower order more than doubled the score.
Unafraid to hit in the air and skipping down the pitch often to enable him to get under the ball, Root put the quality of the surface into perspective with an innings that leaves only Kevin Pietersen (nine from 123 innings) and Marcus Trescothick (12 from 122) with more ODI centuries than him of England players. This was Root's 63rd ODI innings.
He survived being given out on 95 - his use of the DRS showed an inside edge on the ball from Tahir that that had been adjudged to have trapped him leg before - and a top-edge on 55 that fell between fielders but, those moments apart, this was another excellent performance from Root.
Perhaps they benefited from de Villiers' decision-making. With England apparently there for the taking, de Villiers used his support bowlers to get through some overs rather than calling on his new ball men to finish their job. It allowed England a recovery which almost - but not quite - proved enough to snatch the game.