The last time Ulster beat Leinster at the RDS, Nathan Doak was 11-years-old and the son of the team's attack coach, Neil.

Still three weeks shy of his 20th birthday, he's no longer 'Neil's son'. He's his own man.

When Doak came off the bench to replace John Cooney, Ulster were leading and hanging on to a 10-7 advantage. Within minutes the game was level and a 15th defeat in a row to Leinster in Dublin seemed inevitable.

But on the 70th minute Max Deegan conceded a penalty and Doak pointed for the posts. It was the biggest kick of his young career, and the scrum-half was up to it.

His second kick of the night was more enjoyable and less pressurised, a conversion following a James Hume try that sealed the win, and again he split the posts.

It capped off a double-digit winning margin, one they richly deserved.

Ulster came into this game having lost their last six Interpro games, and it looked like they were in for more frustration from the kickoff.

The visitors dominated possession early on, and were camped in the Leinster 22, where they sent two penalty kicks into the corner, but couldn't break down the Leinster defensive wall.

By the time Ross Molony executed a perfect jackal and won Leinster a penalty the clock read 8:10. The home side had been defending since kickoff.

Having turned down two kicks at goal - albeit from difficult angles - in that opening eight minutes of territory, it came at no surprise to see Cooney calling for the tee when Ciaran Frawley was penalised shortly after just inside the Leinster half, but the scrum-half's shot at goal pulled to the left and wide.

Ulster were attacking relentlessly though, and it finally paid off on the quarter-hour mark; James Hume laid the ground work and was stopped just short of the line by a good scrambling tackle from Jordan Larmour, but a quick recycle inside to Greg Jones who ran back in against the grain, and there was nothing stopping the Dublin native from crossing the line.

Cooney converted for a thoroughly deserved 0-7 lead to the visitors.

Jones's night was over shortly after, departing for a HIA which became a permanent change, while his opposite number six Dan Leavy also suffered the same fate, with the luckless flanker replaced by Max Deegan.

Those watching were waiting for the Leinster kickstart, but as the first half ticked by Ulster continued to control proceedings who averaged 60% possession and 76% territory in the opening half.

On a few occasions Leinster made forays into the Ulster half but didn't stay long enough to threaten. One entry was cancelled out by a lineout disruption, while Nick Timoney and Cooney both won penalties which allowed Ulster move back up the field.

They were dominating the game, but struggling to make it show on the scoreboard. A Billy Burns line-break in midfield almost led to a second try, but the out-half couldn't find Cooney with his offload at the 22 and Leinster scooped up play.

A second Cooney penalty from long-range drifted wide of the posts as the clock was in the red. The players turned for the changing rooms with Ulster leading by seven.

When the sides last met at the RDS, Ulster led 5-9 at half time before conceding two tries in the following quarter which ultimately decided the game. The third quarter tonight would be just as decisive.

Stuart McCloskey set the standard within 60 seconds of the resumption, with a crushing tackle on Ross Byrne, before stripping him of the ball and winning a penalty.

McCloskey and his centre partner Hume led the aggressive Ulster defence early in the half, and it led to another penalty at the breakdown, this time won by Marcus Rea.

Leinster's discipline was creaking, and Scott Penny conceded their 11th of the evening shortly after, this time closer to the posts, which Cooney kicked to make it a double-digit lead.

Everything was going Ulster's way, but even they would have known that a Leinster purple-patch was inevitable.

It arrived off the back of a Penny turnover, which saw them counter attack into the Ulster 22. Kicking a penalty to the corner, they tried to maul before breaking back infield, and hammering phase after phase at the visitors' line.

Eventually it took Robbie Henshaw, in his first appearance of the season for his province, get over the line. A brutal pass from Luke McGrath scuttled along the ground, and Henshaw did remarkably well to scoop the ball off the ground and in one swift movement dive under the posts, giving Byrne the easiest of conversions to make it 7-10.

Three minutes later it was Henshaw again winning a jackal penalty. The noise in the RDS lifted. There were 24 minutes left.

It was becoming a tense, back and forth derby match. Rea won a penalty to send Ulster down into Leinster territory. Two minutes later Will Connors - just off the bench following eight months injured - pinched one back to send the home side down into Ulster's 22.

It was an entry that led to Leinster levelling the game, Ulster infringing at the breakdown giving Byrne the easiest of penalties to make it 10-10 as we entered the final 15 minutes.

There was an air of inevitability about the way Leinster were circling Ulster, but they handed the lead back to the northern province almost immediately.

Deegan was penalised for trying to bring down a maul, and Doak made no mistake having just come off the bench to replace Cooney, driving the penalty between the sticks, and nudging them back in front.

Leinster attacked again, but couldn't find the killer blow, their night summed up with Nick McCarthy's pass falling behind Harry Byrne, who knocked on under pressure from Hume.

Hume had been enormous for Ulster, and it was he who fittingly killed the game off in the final minute, picking off Tommy O'Brien's pass in midfield to run in under the posts.

Doak capped off a memorable night for the northern province to drain the conversion, ending an eight-year wait for a win at the RDS, and sending them level on points with the hosts at the top of the URC table.

Leinster: Jimmy O'Brien; Adam Byrne, Robbie Henshaw, Ciarán Frawley, Jordan Larmour; Ross Byrne, Luke McGrath (capt); Ed Byrne, James Tracy, Tadhg Furlong, Ross Molony, Devin Toner; Dan Leavy, Scott Penny, Rhys Ruddock

Replacements: Sean Cronin, Peter Dooley, Vakh Abdaladze, Max Deegan, Will Connors, Nick McCarthy, Harry Byrne, Tommy O'Brien

Ulster: Mike Lowry; Craig Gilroy, James Hume, Stuart McCloskey, Ethan McIlroy; Billy Burns, John Cooney; Andrew Warwick, Rob Herring, Marty Moore; Alan O'Connor (capt), Sam Carter; Greg Jones, Nick Timoney, David McCann

Replacements: Tom Stewart, Eric O'Sullivan, Ross Kane, Mick Kearney, Marcus Rea, Nathan Doak, Angus Curtis, Rob Lyttle

Referee: Frank Murphy (IRFU)