The Italians were slow to start, letting Trimble in for a soft score within eight minutes, before the winger combined neatly with John Cooney, the author of another accomplished display at scrum-half. Jacob Stockdale's third had more than an element of luck, and as the Italians' confidence grew in the final quarter with two tries in quick succession, Ulster did just enough to hang on for four points in their first away game of 2017/18.
Five personnel changes saw Marcell Coetzee and Charles Piutau - two key figures from last Friday's defeat of the Toyota Cheetahs - rested, with Stockdale drafted in on the wing for his first start since a successful summer tour with Ireland.
Recent international debutant Kieran Treadwell was a new addition to the pack at lock, with Callum Black coming in at prop, and a new flanker partnership of Sean Reidy and Matthew Rea, the Ballymena man winning his first full cap.
Stout defence from Benetton kept Ulster at bay in the opening exchanges until a deliberate block on Stuart McCloskey won the visitors a short-range penalty and, although possession was initially lost at the resulting lineout, the statuesque Italian defence could only stand and watch as Trimble gratefully scooped up the loose ball to ground behind the posts.
A second score should have followed on 20 minutes but for a poorly-executed final pass edging forward from Christian Lealiifano to Stockdale, but three minutes later Trimble was touching down his second of the evening after some terrific interplay with Cooney, whose deft reverse pass made the finish light work for his skipper.
Cooney then proved just as effective at the other end, when his last-ditch tackle barely dragged Angelo Esposito's foot into touch as the winger dove for the line down the right, in an effort originally validated by referee Dan Jones before verification with the TMO.
Strong rucking got Ulster back into the danger zone five minutes from the break, but a lack of invention as the ball was recycled from left to right metres from the line allowed the Italians to shut up shop until the visitors eventually infringed.
Half-Time Score Benetton Rugby 0 Ulster 14
Benetton came into the second half much more brightly, electing for a 10-metre scrum when Jean Deysel infringed in front of the posts, but never looked likely to breach the Ulster defence and eventually surrendered possession.
Luke Marshall and Chris Henry replaced Trimble and Deysel on the 50-minute mark, but as Ulster repeatedly kicked for territory opportunities were in scant supply until Stockdale did well to chase down Tommaso Allan in his own '22' and force the lineout on 58 minutes.
Ulster's big hitters pushed on with gusto, but the drive ended with Reidy just missing out as he broke for the line with an unfortunate knock-on under Marco Barbini's tackle.
It proved a mere reprieve rather than an escape for the Italians, however, as the ever-alert Cooney charged down Allan's clearance off the back of the subsequent scrum and, despite failing to ground the ball himself as it spiralled over the line, Stockdale followed up well for a somewhat fortuitous try.
Benetton got some joy five minutes later courtesy of a rolling maul, Federico Ruzza applying the finishing touch, before a fine combination down the right flank between Allan and Ian McKinley brought a deserved try for the exiled Irish out-half.
With the hosts suddenly a mere seven points adrift with as many minutes to play, Ulster closed out the game with all hands on deck, any thoughts of a fourth try and bonus point dismissed as all their energy was spent repelling the final Benetton onslaughts.
When it came two minutes into stoppage time with a final Benetton knock-on, the final whistle was a welcome relief for the Ulstermen, who will face even sterner opposition in a week's time when incumbent champions the Scarlets visit the Kingspan Stadium on Friday 15 September.
Full-Time Score Benetton Rugby 14 Ulster 21
Benetton Treviso (15 - 9) Jayden Hayward; Angelo Esposito, Alberto Sgarbi (c), Tommaso Allan, Tommaso Benvenuti; Ian McKinley, Tito Tebaldi
(1 - 8) Federico Zani, Luca Bigi, Simone Ferrari, Marco Lazzaroni, Federico Ruzza, Francesco Minto, Braam Steyn, Whetu Douglas
Replacements (16 - 23) Enjel Makerlara, Cherif Traore, Tizano Pasquali, Marco Barbini, Dean Budd, Giorgio Bronzini, Edoardo Gori, Marco Zanon
Ulster (15 - 9) Louis Ludik; Andrew Trimble (c), Tommy Bowe, Stuart McCloskey, Jacob Stockdale; Christian Lealiifano, John Cooney
(1 - 8) Callum Black, Rob Herring, Wiehahn Herbst, Robbie Diack, Kieran Treadwell, Matthew Rea, Sean Reidy, Jean Deysel
Replacements (16 - 23) John Andrew, Andy Warwick, Rodney Ah You, Pete Browne, Chris Henry, David Shanahan, Peter Nelson, Luke Marshall
Get up to date
Sign up to our eZine to receive updates, ticket and merchandise offers and the very latest Ulster Rugby news!