Benetton were forced to play all but the first 17 minutes of the Italian derby with 14 men after the Argentinian centre was shown a red card card for a dangerous tackle on his opposite number Tommaso Boni.
Zebre looked capable of taking advantage of the extra man as they hit the front three times but were eventually overpowered and were condemned to a second defeat by their locals in seven days.
It took Faiva under two minutes to open the scoring when he was driven over from a rolling maul but Marcello Violi hit back with a penalty for the visitors, who took the lead on 18 minutes with a try from flanker Johan Meyer.
Faiva burrowed his way over for his second try to restore Benetton’s lead but it was short-lived as Zebre moved the ball out wide for left winger James Elliott to score their second try.
The visitors were then temporarily reduced to 14 men when Elliott was sin-binned for a deliberate knock-on and winger Monty Ioane used the extra space to cross for a try that edged Benetton 17-13 in front at half-time.
The lead changed hands again four minutes into the second half when flanker Maxime Mbanda found space on the left wing to cross for Zebre’s third try to raise hopes of a second win of the season.
However, the Treviso side clinched a bonus point on 50 minutes when Ireland fly-half Ian Keatley broke through the first line of defence to score his side’s fourth try and the former Munster man added the conversion to make it 24-18.
Faiva was driven over for his third try on 57 minutes before making way for Enjel Makelara and his replacement scored his side’s sixth try after getting on the end of another dominant maul.
Keatley kicked a third conversion but Zebre secured a bonus point nine minutes from the end when lock Dave Sisi pounced on a loose ball on the Benetton line for his side’s fourth try.
Sign up to our mailing list here and we’ll keep you up to the minute with weekly updates from the world of rugby.