Ulster staged a superb second-half fightback to record a 43-36 Pro14 win over Southern Kings after trailing 22-10 at the break in Port Elizabeth.
The victory moves Ulster up to second place in Conference B, while the Kings remain rooted to the foot of the standings after an eighth successive defeat and they are still searching for a first win of the season.
That dismal record looked set to come to an end, though, as the South African side came flying out of the blocks before building a half-time advantage.
The hosts led 12-0 just seven minutes in after Berton Klaasen and Yaw Penxe crossed for tries and Oliver Zono added a conversion.
Sean Reidy went over to get the Irish province on the board and after Zono kicked a penalty, John Andrew scored Ulster's second try of the afternoon.
But the Kings hit back immediately as Michael Makase crossed with Zono again converting, earning the hosts a 12-point lead at the interval.
Ulster pulled themselves level with a second try from Andrew and John Cooney converting his own score after 54 minutes.
Klaasen's second try of the afternoon, converted by Zono, restored the Kings' lead but it was all Ulster from then on as Andrew Trimble, Clive Ross and Robbie Diack went over with Christian Lealiifano landing all three conversions.
Southern Kings: Yaw Penxe; Michael Makase, Berton Klaasen, Luzuko Vulindlu (Jarryd Sage 60′), Alshaun Bock; Oliver Zono (Kurt Coleman 72′), Rudi van Rooyen (Rowan Gouws 21′); Schalk Ferreira (Mzamo Majola 70′), Stephan Coetzee (Tango Balekile 60′), Rossouw de Klerk (Martin Dreyer 58′); Stephan Greeff (Lindokuhle Welemu 66′), Bobby de Wee; Andisa Ntsila, Jurie van Vuuren (Dries van Schalkwyk 66′), Ruaan Lerm.
Ulster: Charles Piutau; Craig Gilroy, Louis Ludik, Darren Cave (Tommy Bowe 60′), Andrew Trimble; Christian Leali’ifano, John Cooney; Andrew Warwick (Callum Black 60), John Andrew (Adam McBurney 75), Wiehahn Herbst (Ross Kane 36); Kieran Treadwell, Alan O’Connor; Matty Rea (Robbie Diack 63), Chris Henry (Clive Ross 54), Sean Reidy.
Referee: Quinton Immelman (RSA).