Connacht (15) 31
Tries: M Mostyn.
Pens: McHugh 7, Elwood.
Ulster (3) 20
Tries: Constable 2.
Cons: Larkin 2.
Pens: Larkin 2.
Full-back Mark McHugh produced a magnificent display of place kicking in windy conditions to inspire Connacht to victory over Celtic League leaders Ulster in Galway.
McHugh was successful from all seven of his penalty attempts as Michael Bradley's side sent Ulster to only their second defeat in the series.
The westerners took the lead in the ninth minute when Ireland A international McHugh landed a long-range wind-assisted penalty.
Ulster then produced a fine passage of play with Adam Larkin's superb break giving a try-scoring chance for skipper Andy Ward but the Connacht defence held firm to avert the danger.
Larkin produced another great break deep in the Connacht '22 but he was held up inches short of the line and his half-back partner Kieran Campbell was then penalised for diving over the top.
Almost immediately, Connacht earned another penalty in the Ulster half and McHugh was successful once again to put the home team 6-0 ahead.
The lively Larkin cut Connacht's lead with a successful penalty in the 27th minute.
Both players then had a player sinbinned in quick succession with Connacht hooker John Fogarty and Ulster's Neil Best given enforced breaks.
McHugh was successful with the penalty after Best's late tackle and two more successful kicks in the final five minute of the half extended the Connacht lead to 15-3 at the break.
However such was the strength of the wind, Ulster still must have felt reasonably confident at the break.
The visitors quickly cut into the Connacht lead by notching a converted try.
Constable scored the touchdown and Larkin's conversion left only five points between the teams.
The visitors seemed certain to score another try in the 54th minute but Ward was held up inches short of the line and then penalised for holding for not releasing.
Ward then was sent to the sinbin after being found guilty of a blatant offside offence.
Connacht made the man advantage pay in the 60th minute by producing a great break into the Ulster '22 which yielded a successful penalty for McHugh.
After a couple of earlier misses, Ulster fly-half Larkin found his range again 11 minutes from time with a 45 metre effort which left only five points between the sides.
Ulster continued to press and it was little surprise when Constable scythed through the home defence to level the game in the 71st minute.
Larkin's superb conversion put Ulster ahead for the first time in the contest.
However, Ulster's lead was shortlived with Connacht earning an immediate penalty which McHugh struck over despite the windy conditions.
Larkin then crucially overhit his restart which earned Connacht a scrum back on halfway.
Connacht rumbled deep into the Ulster '22 and earned another penalty which the accurate McHugh gratefully accepted.
The home side tackled magnificently to keep Ulster in their own half during the protracted injury-time.
In the dying seconds, Ulster lost possession and former Ireland international Matt Mostyn was able to run unchallenged over the line to seal Connacht's victory.
Connacht: M McHugh, M Mostyn, D Yapp, T Alnutt, C McPhillips, E Elwood, M Walls, R Hogan, B Jackman, A Clarke, M McCarthy, A Farley, M Swifts, P Neville, J O'Sullivan.
Replacements: J Fogarty, F Boiroux, D Browne, T Carter, C O'Loughlin, D Hewitt, W Munn.
Ulster: B Cunningham, J Topping, R Constable, S Stewart, S Young, A Larkin, K Campbell; B Young, M Sexton, R Moore, M Mustchin, M McCullough, A Ward, N Best, T McWhirter.
Replacements: P Shields, R McCormack, R Frost, R Wilson, R Spee, P Steinmetz, S Mallon.