It was a chilly night on the 4G surface of Arms Park in the Welsh capital as the hosts put on a convincing performance to defeat the ill-disciplined South Africans, who turned over the ball 16 times.
It was a scrappy start to the match, but Cardiff's well-organised attack began to get going and they ran in two tries from Ben Thomas and Cam Winnet, going up 14-3.
The Lions' comeback started with a try from close range from flanker Ruan Venter. The momentum continued to shift their way after Thomas was cited for a dangerous cleanout, which was eventually upgraded to a red card by the bunker. Lubabalo Dobela struck a late penalty to make it 14-13 going into the break.
With Cardiff still a man down, the Lions used their dominant scrum to score another try via No. 8 WJ Steenkamp and moved into the lead by six.
But with the 20-minute red-card over and the Welsh rain teeming down, Cardiff's attack began to reignite. The outfit ran in three unanswered tries via forwards Alex Mann, Evan Lloyd and flyhalf Callum Sheedy.