Southern Kings 19 Connacht 29
Connacht had Peter Robb sent off in the first half but they still left South Africa with a bonus-point win thanks to the steady nerve of Jack Carty in Port Elizabeth.
Early tries from Colby Fainga'a and Tiernan O'Halloran had Connacht in total control before Robb was sent off after 16 minutes.
Carty kicked a penalty, two conversions and also crossed for a try after the restart, before the pack forced the five-point haul following a mammoth scrummaging session.
Connacht head coach Andy Friend, who saw Kyle Godwin sin-binned in the first half, said: "We panicked a bit and I felt we opened up another opportunity for them with a silly penalty which then led to a yellow card.
"At 14-0 we had all the momentum, but that went the Kings' way. To be able to stem that and then get the penalty at the end of the first half and get the calmness back in the players was great.
"And then I thought that last 40 with our 14 men on the field and our reserves coming on and doing a great job, it was a really gutsy performance."
The visitors flew into a 14-0 lead after five minutes with Fainga'a and O'Halloran crossing and Carty adding two conversions.
But Robb was dismissed after 15 minutes for striking Howard Mnisi in the neck with an elbow as he tried to fend off the centre.
Kings had a two-man advantage when Godwin was then yellow-carded for an infringement on the Connacht try-line, and they quickly levelled as Stefan Ungerer and Erich Cronje scored tries and Siya Masuku landed two conversions. Carty restored Connacht's lead with a penalty before the break and the out-half ran through soon after the restart for a 22-14 lead.
Cronje crossed again to reduce the deficit, but a penalty try gave Connacht a bonus-point win despite centre Tom Daly picking up a late yellow card.
Southern Kings: M Banda; C Hollis (J Twum-Boafo 71), S Sithole, H Mnisi, E Cronje; S Masuku (T Botes 60), S Ungerer (T Maree 50); S Ferreira (X Vos 49), A van Rooyen (R Stevens 49), R de Klerk (P Scholtz 53); J Sexton (B de Wee 53), JC Astle; L Badiyana, T Bholi (R Lerm 53), E Louw.
Connacht: T O'Halloran; J Porch, K Godwin, T Daly, M Healy (P Robb 11); J Carty, C Blade (K Marmion 56) (C Fitzgerald 78); P McAllister (D Buckley h-t), S Delahunt (D Heffernan 33), D Robertson-McCoy (C Kenny 33); U Dillane, J Maksymiw (E Masterson 70); P Boyle (E McKeon 56), C Fainga'a, J Butler.
Referee: Cwengile Jadezweni (South Africa).