This was the fourth win in a row for Alan Solomons troops.
For the Celtic Warriors, the defeat continues their freefall down the table, Lynn Howells' side now sit in seventh.
In a scrappy opening period, fans had to wait 34 minutes for the first score. Ulster's Adam Larkin slotted over a penalty goal to make amends for an earlier mistake. But the lead lasted just minutes as Neil Jenkins levelled it up for the visitors.
Deep in first half injury time Tyrone Howe scored a five pointer in the corner for Ulster after an incisive break, but just when it seemed the referee was about to blow for the break, Warriors No. 8 Emyr Lewis pulled a try back for the visitors.
The failed conversion made the score 10-8 at the break, and it was anybody's game.
Second half sparring saw the sides exchanging kicks before Bryn Cunningham scored what proved to be the decisive try to stretch the lead to 20-11.
The Warriors fought back, but all they could manage came from the boot of Jenkins.
Larkin's accurate goal kicking kept Ulster's noses in front, and they withstood a late charge from the Warriors to seal the win.