Dan Biggar kicked 20 points and Jeff Hassler scored his seventh try of the season as the Ospreys secured a win that keeps them very much in the play-off chase with three games to go.
Having built up a nine-point lead by the 50 minute mark, the Ospreys were pegged back to 19-each with just 12 minutes remaining. However, the home team dug deep and were rewarded for their persistence as Biggar slotted over two late kicks to guide his team home.
Leinster should have gone ahead inside three minutes after being awarded a penalty for offside 30m out, slightly to the left of the sticks. It looked a simple enough kick, but Jimmy Gopperth could only watch his kick comeback off the post.
The Irish maintained the early pressure however, with the opening exchanges being played out almost entirely in the Ospreys half. After a lengthy advantage failed to lead to anything, Gopperth had better luck with his second attempt, giving Leinster the lead 10 minutes in.
An overhit clearance from Rob Kearney allowed the Ospreys to take play back up into the Leinster 22 for the first time, opting for a scrum which provided their first attacking platform of the evening. After probing to the left and the right, without finding a way through, an offence on the floor handed the hosts a chance to go for goal. After watching his free drop goal attempt come back off the post, Biggar made no mistake with his penalty, levelling affairs 16 minutes in.
Buoyed by that, the Ospreys then put together their best move of the game so far, Dan Baker and Aisea Natoga both prominent, and when hands in the ruck were spotted Biggar had a chance to give his team the lead. His kick from almost 45m out drifted wide to the right though.
He had a chance to go again a minute or so later after an obstruction from Isaac Boss as Biggar chased his own kick, and this time he made no mistake, making it 6-3 to the Ospreys.
As expected, it was an evenly matched contest between two old rivals and as the half hour approached there remained just three points between the teams.
A driving maul on the left gave the Ospreys some go forward, taking them into the Leinster 22, from where they launched the ball across field, Natoga carrying well before Biggar launched a long pass out to the right, where Kearney eventually bundled Jeff Hassler to the ground a metre or so out, the Canadian knocking on in the tackle.
Pressure from the Ospreys at the resulting scrum meant that Leinster failed to get any distance on the clearance, allowing the hosts tro come straight back at them, and this time there was no stopping Hassler from close range after good hands from Biggar and Richards Fussell took out the Leinster cover, the winger sliding in under Kearney’s tackle.
Biggar’s conversion from the touchline took the Ospreys 10 points clear.
Leinster were awarded a penalty immediately from the restart, Natoga getting into a mess dealing with the ball and eventually tackling Zane Kirchner in the air. Leinster snubbed the opportunity to go for three points, fancying their chances from the line out, but they found no joy as the Ospreys repelled the wave of white pressure, driving the opposition backwards.
However, the referee spotted an Osprey had interfering at the ruck and gave Leinster a second go and this time there was no stopping them as Cian Healey was driven over. Gopperth converted to bring Leinster back to within three points at the break.
HALF-TIME: OSPREYS 13 LEINSTER 10
The Ospreys drew first blood following the restart, a Leinster offside giving Biggar a straight forward shot at goal to take the score up to 16-10.
Another Leinster offence, this time for not rolling away, allowed Biggar to slot over his fifth of the night on 50 minutes, stretching the lead back to nine points.
Gopperth then accepted the simplest of opportunities to keep Leinster’s side of the scoreboard ticking over after an Ospreys offside.
That sparked Leinster into life as they piled on the pressure, working through multiple phases to suck in defenders and create an overlap. It looked a certain try when the long pass was eventually spun out to Dave Kearney with the line at his mercy but he was unable to gather cleanly and the chance went begging.
The Ospreys were unable to clear their lines from the resulting line out though, turning the ball over at the breakdown, and after an offside offence, Gopperth made no mistake to bring Leinster back to within three points once again.
Baker and Hassler then both carried well to take the Ospreys up to within metres of the Leinster line, Biggar spotting a gap in the defence and going for it, only to see the door shut in his face, Leinster turning over the ball on their own line and clearing.
It was becoming end to end stuff now, both teams looking to run the ball at every opportunity, and even Alun Wyn Jones found himself in the unusual position of hurtling through midfield at one stage, carrying some 25m.
A penalty against Justin Tipuric for not releasing resulted in Gopperth slotting one straight between the sticks to bring Leinster level with just over 12 minutes remaining.
It was nervous, edgy stuff now, but Biggar was able to restore his team’s lead in the 70th minute with a quick drop goal after Hanno Dirksen, on for Natoga, had given the Ospreys some go forward with a strong run through the middle.
Leinster threw everything at the Ospreys in the dying minutes as they looked to steal it at the death, but more indiscipline allowed Biggar one final sight of the posts and he duly kicked his fifth and last penalty to round off a crucial win.