Emirates Lions produced a strong home performance to overcome Glasgow Warriors 35-24 in the Vodacom United Rugby Championship.
Tries from Sanele Nohamba, Francke Horn, Manuel Rass, Edwill Van Der Merwe and Ruan Venter put the hosts in a commanding position at Johannesburg's Emirates Airline Park but their ill-discipline could have proved costly.
Van Der Merwe and Quan Horn both received yellow cards before Ruan Dreyer was shown a red and Glasgow responded as Tom Jordan and Thomas Gordon added to earlier tries from Eli Caven and Carl Forbes.
But with Gianni Lombard supplementing the score with two conversions and two penalties, the hosts had enough to hold on.
Glasgow started well as Sam Johnson, making his 100th Warriors appearance, burst through a gap from a line-out to send Caven over.
Forbes went close to adding another but was stopped short and the Lions hit back with four tries in quick succession.
The first came after Van Der Merwe broke down the left and stepped inside to release Nohamba and another quickly followed as Francke Horn pounced on a Warriors handling error.
Rass barged through two tackles to claim a third before Warriors number eight Sione Vailanu was sinbinned for a bad tackle after the Lions had halted a counter-attack.
The Lions secured their bonus point before half-time as Lombard found Van Der Merwe out wide with a looping pass.
The first period ended scrappily as the Lions misjudged the restart and Matthews gathered to set up Forbes, but Glasgow then made a similar mistake. This time Johnson dropped the ball and Lombard made it 27-14 at the interval.
The Lions lost Van Der Merwe to the sinbin for an infringement in a tackle but it did not hold back the hosts as Venter - playing after the death of his father this week - burrowed over for an emotional try.
The Warriors replied as Jordan scored on the right and Gordon was driven over from a line-out after Quan Horn was yellow-carded for a deliberate knock-on.
The Lions were hampered again as Dreyer was sent off for a dangerous challenge but Rabz Maxwane produced a fine tackle to prevent Jamie Dobie reducing the deficit further.
Another Lombard penalty gave the Lions breathing space and they held on to end a five-game losing run.