Amid confusion, on-field umpires Shaun George and Gregory Brathwaite gave the hosts their review back and Rassie van der Dussen was spared because of technical issues that had seen Temba Bavuma given out to the previous ball.
Rashid was therefore deprived of the opportunity to go for a hat-trick but he took three for 51, including the wicket of dangerman Quinton de Kock, whose 69 plus an identical score from the unbeaten David Miller took the home side to what seems a below-par 256 for seven.
The ODI – in which South Africa were clad in pink with England incorporating a pink stripe on their kit to raise awareness for breast cancer – marked Rashid's first since last year's World Cup final.
— Machaka (@machakachaks) February 9, 2020
In a fixture England need to win to avoid a first ODI bilateral series defeat in three years, fellow spinner Moeen Ali was back on England duty for the first time since taking a break from Test cricket.
Saqib Mahmood came in for his ODI debut – as Chris Woakes, Sam Curran and Matt Parkinson dropped out of the line-up – and made inroads as cloud gave way to sun after England had decided to field first.
In tandem with Tom Curran, Mahmood exploited some early seam to restrict South Africa in the first powerplay, with De Kock befuddled on several occasions, before bowling Reeza Hendricks with one that brushed the off-bail.
A three-over burst from Joe Root yielded 25 runs to release the pressure as De Kock and Bavuma (29) settled into a rhythm, only for Rashid to end a 66-run stand when the latter failed to pick his googly and was given lbw.
Bavuma seemed to waste South Africa's review but his decision to query the on-field call had unforeseen consequences for Van der Dussen, who was rapped on the front pad by Rashid's next ball.
Up went the finger and the batsman started to trudge off, but because UltraEdge had not been working for Bavuma's dismissal, the umpires allowed Van der Dussen to review, and technology showed the delivery would have missed leg stump.
England were irate and Eoin Morgan remonstrated with the umpires but the tourists settled back to their task as Van der Dussen was bowled in the next over by Moeen, who was dispatched into the crowd by De Kock shortly afterwards.
De Kock had passed fifty off 62 balls but he then missed a heave off Rashid and was cleaned up before JJ Smuts was run-out for 31 after being sent back by David Miller to leave South Africa on 155 for five after 35 overs.
Rashid had his third wicket when Andile Phehlukwayo missed a reverse sweep and was adjudged lbw for 14 before the Yorkshireman even grabbed a run out, with his throw allowing Morgan to whip off the bails as Beuran Hendricks was short of his ground coming back for a second.
Miller provided the counter-punch with some lusty strokes in the closing stages, including towering sixes off Root and Chris Jordan, in a 45-ball fifty.
Another two meaty maximums off Jordan in the final over took him to 69 not out from 53 balls and South Africa beyond 250.