Ulster dug out a gritty win in tough conditions over the Ospreys to move up to second place in the table.
The Ospreys had led 7-3 at the interval thanks to a try by Sam Lewis which Sam Davies converted.
Ulster had been on the back foot but had the strong wind and driving rain behind them in the second half and Darren Cave's try proved the key score.
Ruan Pienaar added the conversion to an earlier penalty as Ulster strengthened their push for a play-off place spot.
The losing bonus point was enough to keep the Welsh club in third, with Leinster slipping from second to fourth without playing.
It was a dreadful night in Belfast weather-wise and the Ravenhill surface got heavier as the game progressed.
The elements were behind the Ospreys who clearly bossed the early exchanges and deserved the 10th minute try scored by flanker Lewis following a free-kick against the visitors at a scrum.
Davies' excellent conversion put them 7-0 up, and it stayed that way after home winger Michael Allen's 14th-minute surge over the line in the left corner was ruled out by the TMO for a knock-on.
But Ulster did get on the board on 23 minutes when, following a long Allen kick-off, Matthew Morgan was wrapped up and the penalty conceded.
Davies and Pienaar were wide with penalties before half-time, and the sides trooped off with the Ospreys leading 7-3.
Ulster hit the ground running on the restart and, after Davies had made a mess of a mark and clearance kick, Cave sped past veteran prop Duncan Jones to score and put the home side into the lead for the first time.
Pienaar added the conversion to get Ulster 10-7 ahead after 43 minutes.
Ten minutes later, half-time substitute Iain Henderson powered over after Pienaar charged down a Tito Tebaldi kick, but the TMO ruled it out as Henderson was adjudged to have lost the ball.
The remainder of the game saw both sides slog it out, but Ulster held firm in the face of a strong Ospreys finish.
The visitors also saw exciting wing Eli Walker return in his latest attempt to overcome hamstring problems.
But, after making the sort of break that led to Wales squad call-ups in 2012 and 2013, Walker succumbed to a recurrence of the injury.
Walker came on in the 67th minute, but departed to be assessed once more by Ospreys' medical staff.
Ulster: R. Andrew, Gilroy, Payne, Cave, Allen, McKinney, Pienaar, Court, Herring, Afoa, Muller, Stevenson, Diack, Doyle, Wilson.
Replacements: Annett, Black, Lutton, Henderson, Williams, P. Marshall, L. Marshall, Scholes.
Ospreys: Davies, Hassler, Spratt, Beck, Natoga, Morgan, Habberfield, D. Jones, Baldwin, Jarvis, Peers, Parker, Ardron, Lewis, Bearman.
Replacements: Dwyer, Bevington, Suter, Baker, Allen, Tebaldi, Fussell, Walker.
Referee: Nigel Owens (Wales)