Ospreys (14) 23
Try: Holah. Pens: Biggar 6.
Ulster (13) 22
Try: Penalty try. Con: I Humphreys. Pens: I Humphreys 2, Pienaar 3.
Ospreys fly-half Dan Bigger was on form with his kicking
Dan Biggar's boot edged Ospreys to a tight Magners League win over Ulster at the Liberty Stadium on Sunday.
The fly-half kicked six penalties in a game in which both sides struggled to create clear-cut opportunities.
Ulster were awarded an early penalty try when Tom Prydie dragged down Ian Humphreys as he chased his own kick.
But flanker Marty Holah went over on the left wing to start the Ospreys' comeback, although kicks from Humphreys and Ruan Pienaar kept Ulster in touch.
Ulster started well opening up a 6-0 lead after 11 minutes through two penalties from outside-half Humphreys.
It was not a great start from the Ospreys who then conceded a penalty try on 15 minutes.
Scottish referee Neil Paterson awarded the score when wing Prydie tackled Humphreys without the ball as he chased his own fly-hack across the line.
But after a difficult first quarter the Ospreys launched a comeback starting with Biggar putting over a 20th-minute penalty.
That was followed six minutes later when flanker Holah was sent over in the left corner from a long pass by centre Ashley Beck.
With the Ulster pack getting penalised for a second time at a set scrum, Biggar kicked a penalty to close the gap to just two points.
And Ulster's cause was not helped when Humphreys was forced off with a hand injury on 32 minutes to be replaced by Paul Marshall.
There was worse to follow for the Ulstermen just before half-time when Tim Barker was sin-binned for throwing a punch on the floor, with Biggar converting the subsequent penalty from five metres inside his own half to give the Ospreys a 14-13 lead at half-time.
Despite being down a man Ulster were kicked back into the lead with a Pienaar penalty three minutes after the break following a line-out offence, and a further six minutes later the South African was on target again, this time from just outside the 22.
But back to their full complement Ulster gave away three penalties with Biggar kicking penalties on 57, 64 and 67 minutes to give the Ospreys a 23-19 lead.
With seven minutes left on the clock Ulster earned a penalty goal in front of the Ospreys posts, which Pienaar kicked to make the score 23-22 going into the business end of the contest.
Biggar missed a penalty goal deep in to injury time but it mattered little as the Ospreys held on for victory, although Ulster had the consolation of a losing bonus point.
Ospreys: Richard Fussell; Tom Prydie, Sonny Parker, Ashley Beck, Hanno Dirksen; Dan Biggar, Rhys Webb; Duncan Jones, Huw Bennett, Cai Griffiths, Ian Gough, Ian Evans, Tom Smith, Marty Holah, Jerry Collins (capt).
Replacements: Mefin Davies, Ryan Bevington for D. Jones (58), Craig Cross, James King for Holah (76), Justin Tipuric on for Smith (76), Jamie Nutbrown for Webb (70), Gareth Owen, Tom Isaacsf or Prydie (76).
Ulster: A D'Arcy; C Gilroy, N Spence, I Whitten, S Danielli; I Humphreys, R Pienaar; B Young, N Brady, D Fitzpatrick, J Muller (capt), T Barker, C Henry, W Faloon, P Wannenburg.
Replacements: A Kyriacou for Barker (65), J Cronin for Young (59), A Whitten, R Caldwell for Brady (65), TJ Anderson, P Marshall for Humphreys (32), L Marshall for I. Whitten (67), D McIlwaine.
Referee: Neil Patterson (RFU).