England survived a late collapse to square the series when they beat South Africa by two wickets in the third and final one-day international at the Wanderers Stadium on Sunday.
England were cruising to victory at 232 for four after leg-spinner Adil Rashid and his fellow slow bowlers restricted South Africa to 256 for seven after they were sent in to bat.
But fast bowler Lungi Ngidi, who had endured a horror start to the innings, struck three times in quick succession as England lost four wickets for 20 runs before Moeen Ali got the winning runs.
"We bowled really well today," said England captain Eoin Morgan. "We probably had the best of the conditions. It was our best performance in the field and with the ball."
Morgan said he would have liked to finish with a "commanding" win. "It was disappointing to limp over the line like that," he said.
South African captain Quinton de Kock praised the energy his inexperienced team had shown in the two completed matches, which were shared 1-1. “We had a bit of a sniff but it was still a loss,” he said of Sunday’s game. “But it was pretty cool to make it tough for the English side.”
Man of the match Rashid, playing in his 100th one-day international but in his only appearance in the series, took three for 51, including the key wickets of Temba Bavuma and De Kock, who made 69.
After being under covers throughout Saturday because of heavy rain, the pitch helped the bowlers in South Africa’s innings.
There was movement through the air and off the surface for the new-ball bowlers, while offering turn for the spinners.
"It was a nice wicket with a bit of turn and bounce," said Rashid. Twenty-seven overs were bowled by England’s spinners including 17 in tandem by Rashid and off-spinner Ali.
David Miller lifted South Africa’s hopes at the end of the innings with some powerful hitting in making 69 not out off 53 balls, dominating an unbeaten eighth wicket stand of 52 off 32 balls with Lutho Sipamla.
Jonny Bairstow slammed 43 off 23 balls as he and Jason Roy (21) got England off to a blazing start. Ngidi sent down three wides in his first over and was taken out of the attack after conceding 29 runs in two overs. He went for another 23 runs in a second spell of three overs before coming back strongly to take three for 11 in his final three overs.
Joe Denly shared partnerships of 76 with Joe Root (49) and 70 with Tom Banton (32) for the fourth and fifth wickets but the capacity crowd were lifted when Denly was caught in the deep off Ngidi for 66 and Banton fell in the next over to Beuran Hendricks.
Ngidi dismissed Tom Curran and Rashid before Ali completed England’s win.
England will finish their tour with three Twenty20 internationals against South Africa, starting in East London on Wednesday.