Defending PRO12 champions the Ospreys slumped to their second straight loss this season after going down 16-13 to Ulster on Saturday.
The Ospreys started the better of the two sides and 21-year-old South African-born winger Hanno Dirksen put them ahead midway through the first half when he picked up a loose ball and shrugged off the attempted tackle of full-back Jared Payne before going over in the right-hand corner.
Niall O'Connor did get the visitors on the scoreboard via a penalty with just over half an hour gone but he missed by a long way with a couple of other attempts and Ulster struggled to create any real try-scoring opportunities as a stop-start first-half ended with the hosts leading 7-3.
Two penalties from promising 20-year-old fly-half Matthew Morgan edged the Ospreys further ahead early in the second half and it looked as if they were heading for their first win of the season.
Ulster had other ideas though and Paddy Jackson, who came on to replace O'Connor midway through the half, kicked two penalties to bring the Irishmen to within four points of their hosts.
The game could have gone either way in the final ten minutes but it was Ulster who grabbed it by the scruff of the neck and, after John Afoa came up just short of the line, replacement scrum-half Paul Marshall dived over the top of several bodies to touch down and steal victory from the jaws of defeat.
Pen: Morgan 2
Tries: P Marshall
Pen: O'Connor, Jackson 2
Ospreys: 15 Richard Fussell, 14 Hanno Dirksen, 13 Andrew Bishop, 12 Ashley Beck, 11 Tom Isaacs, 10 Matthew Morgan, 9 Rhys Webb, 8 Jonathan Thomas, 7 Justin Tipuric, 6 James King, 5 Alun Wyn Jones (c), 4 Ian Gough, 3 Aaron Jarvis, 2 Richard Hibbard, 1 Ryan Bevington.
Replacements: 16 Scott Baldwin, 17 Duncan Jones, 18 Joe Rees, 19 George Stowers, 20 Joe Bearman, 21 Kahn Fotuali'i, 22 Dan Biggar, 23 Tom Grabham.
Ulster: 15 Jared Payne, 14 Craig Gilroy, 13 Darren Cave, 12 Luke Marshall, 11 Michael Allen, 10 Niall O'Connor, 9 Michael Heaney, 8 Nick Williams, 7 Sean Doyle, 6 Robbie Diack, 5 Lewis Stevenson, 4 Johann Muller (capt), 3 Declan Fitzpatrick, 2 Rob Herring, 1 Callum Black.
Replacements: 16 Nigel Brady, 17 Tom Court, 18 John Afoa, 19 Neil McComb, 20 Stephen Ferris, 21 Paul Marshall, 22 Paddy Jackson, 23 Andrew Trimble.
Referee: Neil Paterson