Connacht rediscovered their title-winning form to hand Guinness PRO12 leaders Ulster a 30-25 defeat in a pulsating seven-try clash at the Sportsground.
The westerners brilliantly secured just their second victory in 21 clashes with the Ulstermen, and in the process pocketed their second successive try-scoring bonus point.
First-half tries from Jack Carty, man-of-the-match Cian Kelleher and James Connolly fired Pat Lam's men into a 22-8 half-time lead, with Craig Gilroy notching Ulster's only five-pointer while Connacht prop Conor Carey was in the sin-bin.
Ulster's resurgence started with early second-half tries from Rory Best and Jared Payne, bringing them level within five minutes, but Kelleher completed his brace and Carty kicked a 60th-minute penalty as Les Kiss' side lost for the first time this season.
The sidelined trio of Matt Healy, Kieran Marmion and Peter Robb took Connacht's list of injured or unavailable players to 20, but a barnstorming run from hooker Dave Heffernan had the hosts in scoring range within two minutes.
Caolin Blade also wriggled free before his half-back partner Carty weaved through to score under the posts and convert. Paddy Jackson settled Ulster down with a penalty, and a lovely offload from former Connacht prop Rodney Ah You set Payne free over halfway. Connacht survived a couple of sustained bouts of pressure in their 22, with Jake Heenan and Carey both forcing ruck penalties.
Connacht showed the visitors how to do it with two superb tries in the 25th and 26th minutes. From an extended spell of attacking, the forwards and Bundee Aki sucked in the defenders and Tiernan O'Halloran's arcing pass sent Kelleher stepping inside Tommy Bowe to score wide on the left.
Carty hit the post with the difficult conversion but added the extras to Connolly's effort as Connacht swept through soft Ulster defending straight from the restart.
Kelleher, Blade and O'Halloran were all prominent in a swashbuckling surge, with replacement flanker Connolly barrelling over from close range.
Ulster came storming back, a run of penalties leading to Connacht tighthead Carey seeing yellow for side-entry at an advancing maul. In the next phase, Paul Marshall's floated pass put Gilroy over in the left corner.
Jackson failed to convert from out wide before a Kelleher-inspired attack saw Carty punish further Ulster indiscipline with a 38th-minute penalty, reopening a 14-point margin. However, Ulster re-emerged in much better shape, a maul causing enough damage for Best to plunge over just two minutes in. Jackson converted for 22-15.
Bowe then scythed through off a quick lineout and fed stand-in skipper Payne for a slick seven-pointer. Connacht were far from deflated, an overcooked touchfinder from Jackson inviting the westerners forward and O'Halloran and Craig Ronaldson combined to release Kelleher for the corner and the bonus-point score.
With the hosts maintaining their control of the breakdown, Carty nailed a long-range penalty on the hour mark. Ulster returned the favour through Jackson and only crossing by replacement Brett Herron prevented the Ireland fly-half from registering a a potential match-winning try.
However, replacement prop Ross Kane's shoulder charge on Ultan Dillane left Ulster down to 14 men for the final five minutes and their provincial rivals deservedly held on.