Trailing by 17 points late in the first half, the Sharks fought back to hand the Reds their first loss of the season after three successive wins,
The Reds, who were hampered by injuries to first-choice kickers, centre Mike Harris and flyhalf Ben Lucas, during the game scored with their first foray into Sharks' territory.
Hooker James Hanson found a way through a ruck to score, and flanker Scott Higginbotham scored a second after the home side failed to clear their lines.
Both scores were converted and, when Ben Lucas slotted a penalty, the score was 17-0 after 32 minutes with the Reds dominating possession 70-30.
Replacement lock Jandre Marais finally halted the slide when he went over for a converted try, before a dangerous tackle by Digby Ioane on the stroke of halftime resulted I a yellow card for the Australia winger.
Patrick Lambie sent over the resulting penalty and added another straight after the interval to cut the gap to four points.
Sharks captain Keegan Daniel put his team in front for the first time after 54 minutes, but they went to sleep after the restart and were punished accordingly by Nick Frisby, who raced down the right to score in the corner.
The Durban side again had an answer and fullback Riaan Viljoen cut inside cleverly on the opposite end to score a converted try that took the gap to five.
Wallabies scrumhalf Will Genia missed the conversion from Frisby's try and also a straightforward penalty early in the final 10 minutes, which ultimately came back to haunt the Reds.