With a man advantage, Leinster secured their bonus-point just two minute after the restart.
Jamie Osborne squirmed through two Ulster tackles and fed the ball wide to Ireland centre Ringrose, who was able to cross unchallenged.
Ulster pressed for a response when McCann returned to the field and, shortly after, Leinster had Diarmuid Mangan sent to the bin after repeated infringements near their own try line.
However, the fierce home defence held firm and the home support had something to cheer at the other end as O’Brien beat Cooney from Frawley’s chip through, and the wing had great awareness to kick the ball out wide and Sheehan gathered to score.
The Ireland hooker squeezed through a gap to grab his second and Leinster’s sixth try, and replacement Sam Prendergast added the conversion.
McCann scored with six minutes to play as Ulster but Sheehan crashed over in the corner to complete his hat-trick.
While Leinster’s place in the play-offs are not in doubt, Ulster will need to pick up positive results against the Sharks, Munster and Edinburgh if they are to break into the play-offs.
Leinster: Osborne; T O’Brien, Ringrose, Henshaw, J O’Brien; Frawley, McGrath (capt); Boyle, G McCarthy, Clarkson; J McCarthy, Mangan; Soroka, Penny, Culhane.
Replacements: Sheehan, Porter, Furlong, Snyman, Deegan, Gunne, Prendergast, Turner.
Ulster: Lowry; Ward, Postlethwaite, Moore, Stockdale; Murphy, Doak; Warwick, Herring, O’Toole; O’Connor (capt), Izuchukwu; McNabney, Timoney, McCann.
Replacements: Stewart, Reid, Wilson, Dalton, Treadwell, Cooney, de Klerk, Matty Rea.