A stunning second-half try by in-form winger Jacob Stockdale saw Ulster win a closely fought Guinness PRO14 Irish derby with Connacht by 16-8.
The win took Les Kiss's side back to the top of Conference B with former Connacht player John Cooney kicking three penalties and the conversion of Stockdale's 56th-minute try, which denied the struggling western province a losing bonus point.
Connacht led 5-3 after a scrappy first half which had ended with Connacht hooker Tom McCartney driving over for an unconverted score which saw them creep ahead following Cooney's earlier penalty.
Ulster -- who had fallen to a shock defeat the week before at Zebre -- spurned some early chances with Charles Piutau knocking on and Stockdale's strong burst out of his own half only leading to a ball spill from former Connacht player Cooney.
On the quarter-of-an-hour mark Stockdale again made ground near Connacht's posts but his pass to Christian Lealiifano was also put down.
Ulster again fumbled in a promising position after a Cooney half-break when Luke Marshall dropped the ball, before the home side finally got some points on the board with a long-range penalty from Cooney in the 28th minute.
But Connacht came back to snatch the lead with five minutes of the first half remaining when McCartney drove over from close range after Jarrad Butler had come close.
Jack Carty missed the conversion and Connacht led 5-3 at the break. A 44th-minute Cooney penalty put Ulster back in the lead at 6-5 but a Carty penalty five minutes later put the visitors back in front again at 8-6.
But Ulster came again and Cooney's third penalty gave them a 9-8 lead after 53 minutes.
The game then burst into life in the 56th minute when Piutau launched the counter-attack and linked twice with Stockdale before putting the winger clear to dive under the posts.
Cooney's conversion took Ulster 16-8 clear. Ulster ended the game with 14 men after Jean Deysel was shown a yellow card for killing the ball but the home side held on for the four points.