Ulster withstood a strong challenge from Connacht to register a five-try bonus-point Pro12 win which enhanced their chances of a home semi-final.
Stuart Olding, Andrew Trimble and Rory Best scored tries to help leaders Ulster to a 22-15 half-time lead.
Tommy Bowe and Jared Payne touched down after half-time while Ruan Pienaar contributed nine points with the boot.
George Naoupu and Fetu'u Vainikolo were the Connacht try-scorers, with Dan Parks kicking eight points.
Ulster were looking to avenge last year's defeat by their Irish interprovincial rivals while Connacht were defending an unbeaten record on their home ground in 2013.
The hosts made an enterprising start and number eight Naoupu sauntered over the line for an easy run-in after a turnover and a fine pass from Irish international Mike McCarthy.
Parks missed the conversion and then Pienaar was off-target with his penalty attempt.
Olding completed a fine move among the Ulster backs by touching down for a ninth-minute try, Piennar converting.
Trimble, Payne and Darren Cave all played their part in a fine score from the visitors.
Ulster moved further ahead when Trimble showed good pace and accepted a clever inside pass from Pienaar, before touching down in the corner after 11 minutes. Pienaar was unable to add the extra two points on this occasion.
Vainikolo easily breached the Ulster defence on 17 minutes, shrugging off a couple of attempted tackles before crossing the line.
Parks' conversion brought the sides level and then the Connacht fly-half and Pienaar exchanged penalties to make the score 15-15.
Best sneaked round on the blindside to dive over for a 32nd-minute try, which Pienaar converted to give his side a seven-point half-time advantage.
A Parks penalty reduced the deficit to four and then Payne tried to touch down but was unable to ground the ball after crossing the line.
Wing Bowe scored the fourth try for Ulster after accepting a pass from a marauding Iain Henderson in the 71st minute and Payne sprinted down the wing to touch down for the fifth three minutes later.
Springbok Pienaar converted Bowe's try, but was unable to convert the next.
Mark Anscombe's side remain top of the table and play Cardiff Blues in their last Pro12 game of the regular season on 3 May.
Connacht: G Duffy; D Poolman, E Griffin, B Murphy, F Vainikolo; D Parks, K Marmion; B Wilkinson, A Flavin, R Loughney; M Swift, M McCarthy; M Kearney, J Muldoon, G Naoupu.
Replacements: Healy for Vainikolo (75), Nikora for Parks (44), O'Donohoe for Marmion (70), Ah You for Wilkinson (55), Reynecke for Flavin (55), Fifita for McCarthy (75), Browne for Kearney (62).
Not Used: Cooney.
Ulster: J Payne; A Trimble, D Cave, S Olding, T Bowe; P Jackson, R Pienaar; T Court, R Best (capt), R Lutton; L Stevenson, D Tuohy; R Diack, C Henry, N Williams.
Replacements: P Nelson for Payne (75), M Allen for Cave (77), P Marshall for Pienaar (75), J Afoa for Lutton (47), J Muller for Stevenson (44), I Henderson for Williams (60).
Not Used: R Herring, C Black.
Replacements: R Herring, C Black, J Afoa, J Muller, I Henderson, P Marshall, M Allen, P Nelson.