The Ospreys ended a run of four straight defeats to put themselves in a good position to reach the Guinness PRO12 semi-finals at the expense of fellow play-off contenders Ulster.
Tries in the first half from Tom Habberfield and Tyler Ardron and a late Brendon Leonard effort were enough to give the Welsh region victory, Dan Biggar converting all three tries and kicking a penalty.
The Ospreys were full value for their 17-3 interval advantage. And although they had to defend for long periods after the break, they were deserved 24-10 winners. Jacob Stockdale got an Ulster consolation, with Paddy Jackson booting the conversion to an earlier penalty, but it was too little, too late.
It means the Ospreys jumped into third place above the Scarlets, prior to their Welsh rivals' meeting with Connacht on Saturday evening.
It had been a perfect start for the Ospreys, Ashley Beck's superb pass out of the tackle finding Habberfield, who crossed in the corner - a fine finish from a man used to playing scrum-half. Biggar adding the extras for a 7-0 lead.
Jackson then exchanged penalties with British and Irish Lions fly-half Biggar, but a kicking battle dominated the game with neither team willing to take too many risks. Ospreys livewire Rhys Webb was the one exception.
Ulster were dealt a cruel blow when they lost Ruan Pienaar to injury, with Paul Marshall replacing the South African.
Jackson and Biggar exchanged kicks to make it 10-3 to the Ospreys.
The home side were dominant and their second try was an absolute peach. Man of the match Dan Evans fielded a Jackson clearance kick, the full-back running the ball back with intent and scorching clear.
Evans linked with Habberfield, who passed to Ardron and he had a simple finish under the posts. Biggar added the extras for a 17-3 lead the Ospreys fully deserved.
Ulster's plight at the start of the second period continued. Stuart McCloskey's clean break saw the ball knocked on and, immediately after he left the field, the centre's replacement Stuart Olding suffered what looked like a recurrence of his previous knee injuries and was taken from the field.
The setbacks seemed to galvanise Ulster, and they camped themselves in the Ospreys' 22 by dominating possession.
Jackson was constantly involved, but he could not help his team find a try as England tourist Sam Underhill and Habberfield stood out in defence for the home side.
It meant Ulster had to chase the game in the final quarter and, although they created three or four half-chances, the final pass would not stick. Charles Piutau knocked on close to the line and Stockdale kicked the ball dead when it looked easier to score.
That summed up Ulster's day to forget, and even a final flourish which saw both Leonard and Stockdale cross for tries failed to influence the final result.