Ulster ended the season on a high with an emotional victory over Leinster but were unable to rack up the huge score they needed to reach the Pro12 play-offs.

On a day when Roger Wilson and Ruan Pienaar played their last games for the province, the Northerners were set the tall task of a bonus-point win over Leinster while closing the Ospreys' 73-point scoring difference advantage.

The home side did halt a three-game run without a win, which had already realistically wrecked their top-four hopes, but missed out by a league point in any case after only scoring two tries.

Leinster dropped to second place in the table behind Munster.

Tries in either half from Roger Wilson, on his last game before retirement, and skipper Andrew Trimble paved the way to victory for Les Kiss's side, who finished outside the play-offs for the first time since 2012.

Ulster's Paddy Jackson ended up kicking two conversions and a penalty while Leinster were awarded a penalty try with Joey Carbery kicking a conversion and two penalties.

Leinster, with British and Irish Lions Jack McGrath and Tadhg Furlong in their starting side, trailed 10-6 at half-time in a scrappy game which did not involve Ulster Lions Rory Best, Iain Henderson and Jared Payne.

Carbery got Leinster under way with a fourth-minute penalty but the home side came back shortly afterwards when Wilson barged over after Ulster had opted to scrum from a close-in penalty.

Jackson converted and Kiss's side led 7-3 after nine minutes. Leinster eventually cut Ulster's lead to one point in the 22nd minute after Carbery nailed a penalty when Wilson had failed to roll away.

The remainder of the half saw both sides come close to making a breakthrough but it all ended with Ulster on top and Jackson kicking a 40th minute penalty to put Ulster 10-6 in front.

The visitors' attack was uncharacteristically blunt in the face of superb Ulster defence and and they fell further behind in the 56th minute.

Stockdale and Jackson went close before Pienaar dinked a perfectly weighted crosskick for Trimble to touch down in the corner and Jackson converted flawlessly.

Leinster thought they'd hit back immediately but the TMO ruled Cian Healy had been held up.

A score quickly followed in the 62nd minute though as referee Andrew Brace lost patience and awarded a penalty try after a series of collapsed Ulster scrums.

Wilson and Pienaar departed to thunderous applause and though both sides kept pushing for another score, it ended in a four-point win that wasn't enough for Ulster to catch Ospreys and knocked Leinster down to second in the table.

Leinster will play Scarlets in the semi-final at the RDS on Friday, 19 May.

Ulster: C Gilroy, A Trimble (capt), L Marshall, S McCloskey, C Piutau, P Jackson, R Pienaar; A Warwick, R Herring, R Ah You, K Treadwell, A O’Connor, R Diack, S Reidy, R Wilson.

Reps: R Lutton for Ah You 30mins, C Henry for Reidy 42-58mins, P Nelson for Piutau and Henry for Wilson both 62mins, K McCall for Warwick 66mins, N Timoney for Treadwell 66 mins, P Marshal for Pienaar 69mins, J Andrew for Herring 75mins.

Leinster: I Nacewa (capt), A Byrne, G Ringrose, N Reid, F McFadden, J Carbery, L McGrath; J McGrath, J Tracy, T Furlong, D Toner, H Triggs, R Ruddock, J van der Flier, J Conan.

Reps: R Strauss for Tracy, C Healy for McGrath and R Molony for Triggs and D Leavy for Van der Fliewr all 56mins, J Gibson-Park for L McGrath 63mins, A Porter for Furlong 68mins, R O’Loughlin for Carbery 72mins.

Referee: A Brace (IRFU).