The Irish province opened up a 12-0 advantage via Luke McGrath and Dominic Ryan tries, but that was reduced by three at the interval through Ian McKinley's penalty.
Isa Nacewa regained the visitors' 12-point buffer in the second half from the tee before Adam Byrne effectively secured the win when he went over.
Federico Ruzza managed to touch down for the Italian side but Leinster sealed the five points through Dan Leavy's score.
Despite a difficult campaign in Europe, Leo Cullen's men have managed to find their form in the Pro12 and their display in the opening quarter hinted at a side full of confidence.
They went 5-0 up as early pressure from the visitors' pack allowed them to build some momentum and scrum-half McGrath sniped over.
Garry Ringrose then enhanced his burgeoning reputation by brilliantly breaking down the left-hand side.
Although the move broke down, it was a warning sign for the hosts and one they failed to heed when excellent Peter Dooley work sent Ryan across the whitewash.
Zebre did stem the tide and were rewarded for their efforts with a McKinley penalty, but they still went into the break 12-3 behind.
That deficit soon became 12 in the second period through Nacewa's three-pointer as Leinster continued to control proceedings.
Their performance wasn't perfect, with the absent internationals making it difficult for them to find continuity, but they were still by far the better team.
Zane Kirchner demonstrated that fact when the former South African international kicked ahead for Byrne to chase and the wing showed good skills to chip, collect and score for the Irish province's third try.
All that was required for an excellent afternoon's work was the bonus-point and, although Ruzza did provide the Italians with a glimmer of hope after going over from close range, a dominant Leinster maul gave Leavy an easy task of touching down.
Tries: McGrath, Ryan, Byrne, Leavy
Con: Nacewa 2
Zebre: 15 Mils Muliaina, 14 Giulio Toniolatti, 13 Tommaso Boni, 12 Matteo Pratichetti, 11 Kayle Van Zyl, 10 Ian McKinley, 9 Fabio Semenzato, 8 Johan Meyer, 7 Federico Ruzza, 6 Jacopo Sarto, 5 Marco Bortolami (c), 4 Quintin Geldenhuys, 3 Guillermo Roan, 2 Oliviero Fabiani, 1 Bruno Postiglioni
Replacements: 16 Gabriele Morelli, 17 Andrea De Marchi, 18 Pietro Ceccarelli, 19 Gideon Koegelenberg, 20 Emiliano Caffini, 21 Luke Burgess, 22 Maicol Azzolini, 23 Ulrich Beyers
Leinster: 15 Zane Kirchner, 14 Adam Byrne, 13 Garry Ringrose, 12 Ben Te'o, 11 Isa Nacewa (c), 10 Cathal Marsh, 9 Luke McGrath, 8 Jack Conan, 7 Dan Leavy, 6 Dominic Ryan, 5 Mick Kearney, 4 Ross Molony, 3 Tadhg Furlong, 2 James Tracy, 1 Peter Dooley
Replacements: 16 Sean Cronin, 17 Jeremy Loughman, 18 Michael Bent, 19 Hayden Triggs, 20 Jordi Murphy, 21 Nick McCarthy, 22 Noel Reid, 23 Cian Kelleher
Referee: Leighton Hodges (Wales)
Assistant Referees: Matteo Liperini (Italy), Ricardo Angelucci (Italy)
TMO: Stefano Penne (Italy)