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.
Travis Head scored a stunning unbeaten 154 as Australia claimed a convincing seven-wicket win over England in the first one-day international at Trent Bridge.Af
England have selected a group with mixed experience for their first 50-over assignment since Matthew Mott’s resignation, starting the process of transition fo
Key eventsShow key events onlyPlease turn on JavaScript to use this feature6th over: England 30-0 (Salt 16, Duckett 13) Ricky Ponting, you’ll be unsurprised t
Ben Dwarshuis of Australia celebrates bowling Phil Salt (Getty Images)Sign up to our free sport newsletter for all the latest news on everything from cycling to