Wing Eli Walker scored a second-half try to give the Ospreys a hard-earned 19-10 victory over Leinster at the Liberty Stadium in the RaboDirect Pro12 league.
Outside-half Matthew Morgan kicked 14 points including a late drop-goal which denied Leinster, who had led 10-0 inside 10 minutes, a losing bonus point.
Leinster's points in the first half came through a converted try by Leo Auva'a and a penalty from Ian Madigan.
The Ospreys' win mean they leapfrog Leinster into fifth place in the table.
Both sides were without their international stars, with the Ospreys missing Ashley Beck, Dan Biggar, Ryan Bevington, Aaron Jarvis, Richard Hibbard, Ian Evans, Alun Wyn Jones, Ryan Jones and Justin Tipuric.
Andrew Goodman made his Leinster debut at inside centre in a team which shows wholesale changes from the team which defeated Cardiff Blues the weekend before.
Leinster made a positive start and were rewarded with a penalty for Madigan after four minutes.
And 3-0 became 10-0 four minutes later when Auva'a slid over, touching down after Rhys Webb had a clearance kick charged down. Madigan converted.
The Ospreys produced their best move when flanker George Stowers was bundled into touch just shy of the left corner, but they were rewarded for their pressure with a penalty for Morgan on 15 minutes
In torrential rain the home side's improvement continued as Morgan was successful with a second penalty from a Leinster ruck offence.
Leinster had the chance to restore a seven-point lead but Madigan fluffed a penalty shot wide of the left upright from inside the Ospreys’ 22.
But at the other end Morgan put over an injury-time penalty to cut Leinster's lead at half-time to 10-9.
Early pressure from the Ospreys was rewarded with a penalty but Morgan missed his shot at goal and Duncan Jones was then sin-binned for being offside at a ruck.
But from the resulting penalty from halfway Madigan was wide of the mark.
Madigan was close to scoring Leinster's second try but scrum-half Rhys Webb pulled off a fine tackle five metres out.
Leinster looked as if they were going to get a pushover try but Webb did enough to disrupt the province's ball at the base of the scrum.
From a quick throw-in deep in their own half Richard Fussell went on a brilliant 50-metre run, putting Walker over for a try converted by Morgan to put the Ospreys in front for the first time at 16-10.
And two minutes from time Morgan put over a drop-goal to put the Ospreys two scores ahead at 19-10.