England looked out of the game for much of the chase with Jos Buttler, Phil Salt, Moeen Ali and Jonny Bairstow all caught cheaply to leave them 61-4.
By the end they could easily have won it.
The pendulum swung their way when Proteas seamer Ottneil Baartman bowled five full tosses in the 17th over which cost 21.
That left England, who earlier needed 104 from the last 10 overs and 77 from the last six, requiring just 25 from 18 balls.
But Liam Livingstone was dismissed when he hit a full toss from Kagiso Rabada straight to deep square-leg in the next over, and the South Africa quick only conceded four singles.
Left-armer Marco Jansen kept the pressure on, with England unable to find a boundary in the penultimate over.
Still, with Brook at the crease and just 14 needed, England were right in the game – but it was fitting the decisive moment was a piece of athletic fielding in a match packed with such efforts.
With Brook trying to clear long-off, Proteas captain Markram ran back, leaped and held on to the catch as he sprawled on the turf.
Curran turned down a single in the dying moments, backing himself to clear the ropes, but Markram’s effort was the match-winning moment.
The schedule for the ICC Champions Trophy has been announced ahead of the tournament's long-awaited return in 2025.The 50-over com
England captain Ben Stokes (Picture: Getty) England captain Ben Stokes insists he has ‘so much more left in this tank’ after being ruled out
England Women head coach Jon Lewis says his side are in "a really good place" for the upcoming Ashes series in Australia, which he