|Zebre (3) 10|
|Try: Ruzza Con: McKinley Pen: McKinley|
|Leinster (12) 27|
|Tries: McGrath, Ryan, Byrne, Leavy Cons: Nacewa 2 Pens: Nacewa|
Leinster left it late to secure maximum points against Zebre and close the gap on Pro12 leaders Connacht to one point.
Luke McGrath and Dominic Ryan crossed the line in the first half as the Irish province led 12-3 at the interval.
Adam Byrne's try widened the gap after half-time but the hosts' efforts were rewarded with a Federico Ruzza try.
Dan Leavy went over late on to hand in-form Leinster their bonus point and make it 10 wins from their last 11 matches in the competition.
Leinster had scored eight tries in beating Zebre 52-0 two weeks earlier but the Italians proved to be a more resilient outfit on home soil.
|Read Sunday's other Pro12 reports|
|Benetton Treviso 13-16 Munster|
|Edinburgh 24-23 Scarlets|
|Cardiff Blues 23-13 Ulster|
McGrath touched down for an early try to get the visitors off to a flying start, then Ryan added the second.
A superb Byrne score widened the gap after half-time but Zebre enjoyed their fair share of possession and territory in the second half and Ruzza's try kept them in touch, before Leavy ensured a maximum five points for his side.
Leinster flew out of the blocks and they were on the board inside six minutes. Good work from the pack allowed McGrath to snipe down the blind side and score, though Isa Nacewa missed the extras.
The continued to threaten and Garry Ringrose away broke down the left touchline, before he was bundled into touch by a covering defender.
The second try did arrive, however, before the 20-minute mark when Peter Dooley showed sharp hands to send Ryan in under the posts and this time Nacewa converted.
Zebre began to find a foothold in the game and they were awarded a kickable penalty shortly before the half-hour, fly-half Ian McKinley pointing to the posts and getting the hosts on the board.
McGrath nearly got away for his second try a couple of minutes later but despite Leinster probing away for the rest of the half, they went into the break only nine points to the good.
Nacewa got the second half up and running with a penalty and five minutes later a super third try arrived, courtesy of Byrne.
Zane Kircher chipped through before the Leinster academy product hacked forward and dotted down his second try against Zebre in as many games, Nacewa with the extras.
As the muddy conditions worsened, Zebre gained more of a foothold and enjoyed a spell in the Leinster half and Kayle van Zyl made a break for the corner flag, only to be herded into touch a couple of metres short.
Their perseverance eventually paid off seven minutes from time when Ruzza followed a long series of phases with a pick-and-go under the posts, McKinley converting.
However, Leinster made their way up the other end in the dying moments and grabbed that coveted fourth try, Leavy emerging from the base of a powerful maul with ball in hand and a smile on his face.
Zebre: M Muliaina, G Toniolatti, T Boni, M Pratichetti, K Van Zyl, I McKinley, F Semenzato; J Meyer, F Ruzza, J Sarto, M Bortolami (capt), Q Geldenhuys, G Roan, O Fabiani, B Postiglioni.
Replacements: G Morelli, A De Marchi, P Ceccarelli, G Koegelenberg, E Caffini, L Burgess, M Azzolini, U Beyers.
Leinster: Z Kirchner, A Byrne, G Ringrose, B Te'o, I Nacewa (capt), C Marsh, L McGrath, P Dooley, J Tracy, T Furlong, R Molony, M Kearney, D Ryan, D Leavy, J Conan.
Replacements: S Cronin, J Loughman, M Bent, H Triggs, J Murphy, N McCarthy, N Reid, C Kelleher.