BJ Botha burrowed over in the fourth minute for Munster with fellow South African Braam Steyn replying with a terrific solo effort for the visitors.
Treviso's resolute defence was worn down after the break as captain CJ Stander got Munster's second try.
Replacement hooker Duncan Casey and Zebo added the further two tries.
Zebo's touchdown was his 40th for Munster, leaving him within one of equalling the province's record try scorer Anthony Horgan.
The win sees Munster join Leicester at the top of Pool Four on five points.
The home side were quick out of the blocks, setting up a purposeful maul. Scrum-half Conor Murray almost nipped over from close range before prop Botha got in under James Ambrosini's tackle.
Treviso, with the wind advantage, gradually gained a foothold in the game and scored their try in the 16th minute.
The Italians' number eight Steyn charged down Keatley's attempted clearance kick and dribbled through to the left of the posts before acrobatically dotting down just before the ball went dead.
Jayden Hayward made it 7-7 with the conversion, although Keatley responded with a penalty three minutes later.
Treviso lost their captain Alessanndro Zanni to concussion, and Munster hooker Mike Sherry had his first European appearance in over two years cut short by a knee injury.
The conditions worsened on the restart with the rain teeming down.
Keatley's 48th-minute place-kick was followed by Stander's unconverted try seven minutes later, the Irish-qualified number eight outmuscling Matteo Zanusso and Ludovico Nitoglia from a couple of metres out.
Munster went the direct route again for their third try, Ryan winning a line-out near the left corner and Casey piling over on the end of a well-executed forward drive.
Keatley converted and further pressure from the home pack saw Matteo Muccignat sin-binned for not rolling away.
Barely a minute later, Zebo was handed a simple finish and Keatley added the extras for a 25-point winning margin.
Munster: Conway, Earls, Saili, Hurley, Zebo, Keatley, Murray, Kilcoyne, Sherry, Botha, D. Ryan, Chisholm, D. O'Callaghan, O'Donoghue, Stander.
Replacements: Gonzalez Amorosino for Conway (77), R. Scannell for Keatley (77), O'Leary for Murray (77), Cronin for Kilcoyne (50), J. Ryan for Botha (72), Foley for Chisholm (66), Copeland for D. O'Callaghan (56).
Not used: Casey.
Treviso: McLean, Nitoglia, Hayward, Bacchin, Iannone, Ambrosini, Gori, Zanusso, Gega, Harden, Naude, Montauriol, Minto, Zanni, Steyn.
Replacements: Smylie for Nitoglia (56), Giazzon for Gega (41), Filippetto for Harden (50), Budd for Naude (50), Muccignat for Montauriol (71), De Marchi for Steyn (78).
Not used: Barbini, Christie.
Sin bin: Muccignat (74).
Att: 12,348
Ref: Matt Carley (RFU)
A late try by Ireland winger Simon Zebo earned Munster a bonus point as they beat Treviso in their opening European Champions Cup game in Limerick.