After Cullen introduced experienced front rowers Andrew Porter, Rabah Slimani and Dan Sheehan, Leinster were pinned back in the early stages of the second half before a momentum-shifting intercept from Diarmuid Mangan.
And having had their patience tested, Leinster finally got their third when Keenan – who replaced Prendergast – sprinted through a tiring Lions defence to score after good work from Jamie Osborne and Ioane.
With the Lions fading, Ioane clinched the bonus score before O’Brien wrapped up proceedings with the home side’s fifth try.
Leinster host Ospreys next weekend while the Lions take on Munster.
Leinster: Frawley; A Osborne, Ioane, J Osborne, J O’Brien; Prendergast, McGrath; E Byrne, McKee, Clarkson, Deeny, Ryan (capt), Deegan, Connors, Culhane.
Replacements: Sheehan, Porter, Slimani, Mangan, Penny, Gunne, Cooney, Keenan.
Lions: Q Horn; Cronje, Van Wyk, Kriel, A Davids; Smith, Van den Berg; Kotze, Botha, Ntlabakanye, Oosthuizen, Nothnagel, Mahashe, Venter, F Horn (capt).
Replacements: Marais, E Davids, Lombard, Landsberg, Hlekani, Pretorius, Steyn, Mpeku.
