Shepherd slammed 44 from 22 to take West Indies from 161 for eight to 220 for eight, sharing an unbeaten ninth wicket of 59 from 26 with Joseph, who made it 14.
Fast bowler Joseph then took five for 40 as South Africa was limited to 213 for six.
New West Indies T20 captain Rovman Powell said the players answered his call “to be fearless, to be natural – but you also have to be smart. The guys have been great in this series.”
Joseph, who missed the second game at Centurion when South Africa scored a world record 259 chase, delivered crucial blows as he took the wickets from T20 stars Quinton de Kock (21) and David Miller (11).
Joseph effectively wrapped up the game in the penultimate when he fired top scorer Reeza Hendricks for 83 and followed wickets from Heinrich Klaasen and Wayne Parnell.
“We did a total and it was up to the bowlers to defend it,” said Joseph, who was named Player of the Match.
“I thrive on the opportunity to make an impact.”
The last two overs of the West Indian innings changed the game as Shepherd and Joseph scored 17 against Wayne Parnell and 26 in the final against Kagiso Rabada.
“We would have liked to wrap up the last two wickets, but apart from the last two or three overs, we were really good with the ball,” said South African captain Aiden Markram.
(With contributions from AFP)