Four minutes after the restart, another Cooney penalty cut Ulster’s deficit to a solitary point, but Leinster’s increased power and experience up front was beginning to show.
Stemming from a scrum penalty, the visitors went to their pick and go game and, despite slow ball, still had the heft in close quarters for Michael Ala’alatoa to force his way over the line.
With another scrum penalty going against them, Ulster appeared to be teetering but, as Leinster attacked, Jacob Stockdale intercepted a Harry Byrne pass inside his own 22 and ran all the way in for the try.
Undermined somewhat by errors – Billy Burns kicked one out on the full while Tom Stewart was pinged for a crooked throw – Richie Murphy’s side remained within a score thanks to a lengthy defensive stand that concluded with a Stewart turnover.
As time ticked away, they seemed to be playing for the penalty and a shot at the posts.
When Leinster were caught not rolling away only a few metres into their own half, a blast of Piardi’s whistle gave them the opportunity they sought.
From the tee, John Cooney made no mistake to earn Ulster the vital win.
Ulster: Lowry; McIlroy, Addison, McCloskey, Stockdale; Burns, Cooney; O’Sullivan, Herring, O’Toole; Treadwell, O’Connor (capt); Izuchukwu, McCann, Timoney.
Replacements: Stewart, Wilson, Rea, Moore, Warwick, Sheridan, Doak, Postlethwaite.
Leinster: Keenan; T O’Brien, J O’Brien, Ngatai, Russell; Byrne, Foley; Healy, Kelleher, Ala’alatoa; Deeny, Ryan (capt); Deegan, Connors, Conan.
Replacements: McKee, Milne, Clarkson, Molony, Penny, McGrath, Prendergast, Brownlee.
Referee: Andrea Piardi