Tries from Tiernan O'Halloran and Bundee Aki, along with a penalty try, saw Connacht dramatically beat provincial rivals Ulster 22-15 in the Guinness Pro14 for a first triumph in Belfast since 1960.
The result saw Ulster fall to their second successive defeat less than week after suffering a record 64-7 reverse at Munster.
Ulster were forced to play the whole of the second half with 14 men on the pitch after flanker Mattie Rea was shown a red card for upending Cian Kelleher just after the restart.
With Marcell Coetzee having been shown a yellow card at the end of the opening 40 minutes, Ulster played the first 10 minutes of the second half with just 13 men which gave them little hope of rescuing the game.
Ulster's tries were from Jacob Stockdale and a late score from Nick Timoney, converted by John Cooney, which earned them a bonus point.
Connacht led 14-5 at half-time and fully deserved their four points.
Connacht drew first blood with a fifth minute try from O'Halloran after Matt Healy's break, with the TMO ruling out a possible obstruction on Stuart McCloskey.
AS IT HAPPENED: ULSTER BEATEN AT HOME BY CONNACHT
Jack Carty converted from the touchline and Connacht were 7-0 up. Connacht were then awarded a penalty try after 20 minutes following a series of penalties and scrums near Ulster's line.
The visitors looked in control at 14-0 ahead only to concede a soft try in the 24th minute when Billy Burns' cross-kick was missed by Caolin Blade.
Stockdale snatched the ball and dotted down and the try was given after the TMO was consulted due to Stockdale being perilously close to the dead ball line.
Cooney missed the extras and then Ulster had a length of the field try ruled out after Stockdale was adjudged to be in front of Angus Kernohan's kick in the lead-up to the latter crossing.
Ulster were then over again when Stockdale chipped through for Peter Nelson to get the touch down only for the TMO to be brought in again. The score was ruled out with Nelson adjudged to have been slightly in front of his team-mate.
The half ended with Coetzee being yellow-carded for a high tackle and Connacht went off leading by nine.
The home side were reduced to 13 men at the start of the second half when flanker Rea was shown red after he took out Kelleher.
Cooney missed a long range penalty just as Coetzee rejoined the action to give Ulster 14 men, but made no mistake three minutes later from further out to narrow Connacht's lead to 14-8.
Rory Best departed on 65 minutes and Connacht's pressure told and after a scrum penalty, Carty nailed a penalty to put them 17-8 ahead.
The game was then sealed with Aki's intercept try after 73 minutes though Carty missed the conversion.
Timoney's late try, converted by Cooney, earned Ulster a losing bonus point which will have been no consolation.
Ulster: Peter Nelson, Angus Kernohan, Angus Curtis, Stuart McCloskey, Jacob Stockdale, Billy Burns, John Cooney; Andrew Warwick, Rory Best, Tom O’Toole, Alan O’Connor, Iain Henderson, Matthew Rea, Nick Timoney, Marcell Coetzee
Replacements: Adam McBurney, Eric O’Sullivan, Ross Kane, Kieran Treadwell, Sean Reidy, Dave Shanahan, Johnny McPhillips, James Hume
Connacht: Tiernan O’Halloran, Niyi Adeolokun, Tom Farrell, Bundee Aki, Matt Healy, Jack Carty, Kieran Marmion; Denis Buckley, Tom McCartney, Finlay Bealham, Ultan Dillane, Quinn Roux, Sean O’Brien, Jarrad Butler, Paul Boyle
Replacements: Shane Delahunt, Peter McCabe, Conor Carey, James Cannon, Colby Fainga’a, Caolin Blade, Kyle Godwin, Cian Kelleher