Luke McGrath, Dominic Ryan, and Adam Byrne also crossed for the province, with Isa Nacewa adding two conversions and a penalty.
Federico Ruzza went over for Zebre and fly-half Ian McKinley converted and added a penalty.
But the Italians have now lost four games in a row to sit in 11th place. It took Leinster just six minutes to breach the Zebre defence as scrum-half McGrath darted down the blindside to touch down but Nacewa was wide with his conversion attempt.
The visitors extended their advantage in the 18th minute when Ryan went in under the posts for his first try of the season and Nacewa added the simple conversion.
McKinley got Zebre on the board with a penalty but Nacewa landed a penalty of his own six minutes after the break to restore the 12-point advantage.
Byrne latched onto Zane Kirchner’s chip ahead to score Leinster’s third try and Nacewa converted from the touchline.
Ruzza crashed over for the hosts after a period of forward pressure and McKinley converted before Leinster secured the bonus point with a line-out catch and drive as Leavy touched down.
Tries: Ruzza. Cons: McKinley. Pens: McKinley.
Muliaina, Toniolatti, Boni, Pratichetti, Van Zyl, McKinley, Semenzato, Postiglioni, Fabiani, Roan, Geldenhuys, Bortolami, Meyer, Ruzza, J. Sarto.
Azzolini for Boni (48), Burgess for Semenzato (58), De Marchi for Postiglioni (6), Morelli for Fabiani (64), Ceccarelli for Roan (), Koegelenberg for Bortolami (53), Caffini for Meyer (55).
Tries: L. McGrath, D. Ryan, A. Byrne, Murphy. Cons: Nacewa 2. Pens: Nacewa.
Kirchner, A. Byrne, Ringrose, Te’o, Nacewa, Marsh, L. McGrath, Dooley, Tracy, Furlong, Molony, M. Kearney, D. Ryan, Leavy, Murphy.
Kelleher for A. Byrne (73), Reid for Ringrose (53), McCarthy for L. McGrath (62), Loughman for Dooley (62), Cronin for Tracy (46), Bent for Furlong (55), Triggs for M. Kearney (46).
Leighton Hodges (Wales).