Ulster continued their march towards the Magners League play-offs with an unconvincing 27-16 victory over Irish rivals Connacht.
Hooker Rory Best, full-back Adam D'Arcy and centre Darren Cave all scored tries, with fly-half Ian Humphreys adding 12 points with the boot.
But the visitors were determined to upset the odds and were rewarded with a superb converted try by hooker Sean Cronin, plus three more penalties from stand-off Ian Keatley.
Despite their defeat to Leinster last time out, Ulster were looking to continue their fine recent run, and they displayed that confidence in the opening minutes.
An excellent inside ball from Humphreys to D'Arcy saw the full-back break clear of the Connacht defence before he off-loaded to Cave, who then fed Best for an easy run to the line.
The hosts' stand-off converted to open up a seven point gap. However, Connacht responded almost immediately through a Keatley drop-goal.
A period of stagnant play followed but on 31 minutes, Humphreys weaved his magic once more and the supporting D'Arcy was on his shoulder to touch down for a converted score.
Keatley reduced the arrears on the stroke of half-time with a penalty to leave Ulster in control at 14-6.
However, Keatley kicked his second penalty to bring Connacht to within losing bonus-point territory before Humphreys responded with one of his own.
Cronin then showed impressive pace to outstrip the hosts' defence for a converted try. Suddenly, after looking in control, only one point separated Ulster from a surprise defeat.
But they reasserted their control and Humphreys eased their nerves with another three points. And Cave made sure of the win five minutes from time, Humphreys converting.
Tries: Best, Cave, D'Arcy
Cons: Humphreys 3
Pens: Humphreys 2
Pens: Keatley 2
Ulster: 15 Adam D'Arcy, 14 Craig Gilroy, 13 Darren Cave, 12 Nevin Spence, 11 Simon Danielli, 10 Ian Humphreys, 9 Ruan Pienaar, 8 Pedrie Wannenburg, 7 Willie Fallon, 6 Chris Henry, 5 Dan Tuohy, 4 Johann Muller 3 Jerry Cronin, 2 Rory Best (c), 1 Paddy McAllister
Replacements: 16 Andy Kyriacou, 17 Bryan Young, 18 Adam Macklin, 19 Tim Barker, 20 Robbie Diack, 21 Paul Marshall, 22 Ian Whitten, 23 C Gaston.
Connacht: 15 Gavin Duffy, 14 Eoin Griffin, 13 Niva Ta'auso, 12 Troy Nathan, 11 Fionn Carr, 10 Ian Keatley, 9 Frank Murphy, 8 John Muldoon, 7 Johnny O'Connor (c), 6 Mike McCarthy, 5 Bernie Upton, 4 Michael Swift, 3 Jamie Hagan, 2 Sean Cronin, 1 Brett Wilkinson
Replacements: 16 Adrian Flavin, 17 Ronan Loughney, 18 Rodney Ah You, 19 Andrew Browne, 20 Mike McComish, 21 Cillian Willis, 22 Miah Nikora, 23 Tiernan O'Halloran
Referee: JP Doyle