The visitors, who are still unbeaten after three matches, were full value for their win as they dominated for long periods and eventually outscored the Kings by three tries to one.
After Ulster took a 6-0 lead courtesy of two John Cooney penalties, the home side suffered a further setback midway through the half when Martinus Burger was yellow carded for a cynical defensive foul inside his half.
Two minutes later, Cooney crossed the whitewash from close quarters but his effort was disallowed due to an illegal clearout in the build-up by Al O’Connor, who was also sent to the sin bin for his indiscretion.
Five minutes later, Cooney made it 9-0 to the visitors when he added another penalty but his participation in the match was brought to a premature end in the 33rd minute when he was forced off the field with a head injury.
The half’s closing stages were dominated by the Kings as they were camped close inside Ulster’s 22, but they could not breach their opponents’ tryline.
Ulster were dealt another blow shortly before half-time when their captain, Rob Herring, also received a yellow card for illegally collapsing a Kings maul deep inside his half.
Despite the loss of their skipper, Ulster did well to keep the Kings at bay and would have been happy to hold a 9-0 lead at half-time.
However, the Kings were fastest out of the blocks in the second half and were rewarded in the 43rd minute when their skipper, Michael Willemse, crossed for the opening try off the back of a lineout drive deep inside Ulster territory.
The next 15 minutes was evenly contested as both sides tried to gain the upper hand but the visitors extended their lead on the hour-mark when Marcell Coetzee gathered the ball at a scrum on the Kings’ five-metre line before powering his way over the tryline.
With Cooney off the field, Billy Burns took over the goalkicking duties and added the extras which meant Ulster held a 17-7 lead.
Five minutes later, Angus Kernohan crossed for the visitors’ second try after gathering a pass from David Shanahan close to the Kings’ tryline and Ulster secured the result in the game’s closing stages when Angus Curtis dotted down after beating a defender deep inside the home side’s 22.
For Southern Kings:
Yellow Card: Burger
Tries: Coetzee, Kernohan, Curtis
Con: Burns, Nelson
Pens: Cooney 3
Yellow Cards: O’Connor, Herring
Southern Kings: 15 Michael Botha, 14 Yaw Penxe, 13 Harlon Klassen, 12 Berton Klassen, 11 Bjorn Basson, 10 Masixole Banda, 9 Godlen Masimla, 8 Andisa Ntsila, 7 Martinus Burger, 6 Stephan de Wit, 5 John-Charles Astle, 4 Schalk Oelofse, 3 Luvuyo Pupuma, 2 Michael Willemse (c), 1 Schalk Ferreira
Replacements: 16 Alandre van Rooyen, 17 Xandre Vos, 18 Justin Forwood, 19 Bobby de Wee, 20 Ruaan Lerm, 21 Rudi van Rooyen, 22 Martin Du Toit, 23 Ntabeni Dukisa
Ulster: 15 Peter Nelson, 14 Craig Gilroy, 13 Darren Cave, 12 Stuart McCloskey, 11 Henry Speight, 10 Billy Burns, 9 John Cooney, 8 Nick Timoney, 7 Sean Reidy, 6 Marcell Coetzee, 5 Kieran Treadwell, 4 Alan O’Connor, 3 Tom O’Toole, 2 Rob Herring (c), 1 Andy Warwick
Replacements: 16 Adam McBurney, 17 Eric O’Sullivan, 18 Wiehahn Herbst, 19 Jean Deysel, 20 Matthew Rea, 21 David Shanahan, 22 Amgus Curtis, 23 Angus Kernohan
Referee: Sam Grove-White (Scotland)
Assistant referees: Ben Whitehouse (Wales), Ruhan Meiring (South Africa)
TMO: Johan Greeff (South Africa)