Connacht - who trailed 20-9 after 60 minutes - scored a late try through hooker Bernard Jackman.
Former Australia Sevens captain Paul Warwick kicked three penalties for Michael Bradley's side, to take his league tally to 92 points.
The westerners also had number eight John O'Sullivan yellow carded just after the half-hour.
Ulster 23 Connacht 14, RavenhillScorers: Ulster: Tries: Tommy Bowe, Paul Steinmetz; Cons: David Humphreys 2; Pens: Humphreys 3Connacht: Try: Bernard Jackman; Pens: Paul Warwick 3
(15) Bryn Cunningham(14) Tommy Bowe(13) Paul Steinmetz(12) Kevin Maggs(11) Tyrone Howe(10) David Humphreys(9) Kieran Campbell(1) Ronan McCormack(2) Rory Best(3) Rod Moore(4) Gary Longwell(5) Matt McCullough(6) Campbell Feather (Capt)(7) Neil Best
Replacements used: Rowan Frost for Longwell (65 mins), Andy Ward for Feather (68), Neil Doak for Campbell (71). Not used: Paul Shields, Simon Shawe, Adam Larkin, Jonny Bell.
(15) Matt Mostyn(14) Justin Meagher(13) Darren Yapp(12) James Downey(11) Conor McPhillips(10) Paul Warwick(9) Chris Keane(1) Ray Hogan(2) Bernard Jackman(3) Peter Bracken(4) Christian Short(5) Andrew Farley (Capt)(6) Michael Swift(7) Matt Lacey(8) John O'Sullivan
Replacements used: Ted Robinson for Meagher (40 mins), Adrian Clarke and John Muldoon for Hogan and Short (both 61). Not used: John Fogarty, Pieter Myburgh, Tom Tierney, Eric Elwood.
Sin-bin: John O'Sullivan (Connacht) 31 minsHalf time: Ulster 10 Connacht 9; Attendance: 7,900Referee: David Keane (IRFU)