The teenage winger’s first put the visitors in front after they had trailed to an early Tobias Botes penalty, and he went over again in the first minute of the second half to put them firmly in control at 19-6 up.
In between, Simon Danielli also touched down for Ulster, who moved above Scarlets and into second in the standings.
It was the Italians who drew first blood, though, Botes slotting over a sixth-minute penalty before missing a chance to double that lead in the 16th minute.
And Gilroy, who marked his debut with a brace in the 37-15 win over Cardiff Blues last weekend, got Ulster up and running after 21 minutes, Ian Humphreys adding the conversion.
Botes reduced the deficit to one with another penalty just before the half-hour mark, but Simon Danielli crossed the whitewash at the other end in the 33rd minute to put Ulster further clear, Humphreys again with the extras.
Botes then missed another kick at goal as the visitors led 14-6 at the break.
And that eight-point lead quickly became a 13-point one as Gilroy made it four tries in two games with his second of the match.
Humphreys this time missed the conversion and the visitors suffered a setback when Willie Faloon was sent to the sin-bin on the hour mark.
Botes kicked his third penalty of the night a minute later, but missed for the third time in the match in the 73rd minute as Ulster comfortably held out.
Scorers for Treviso: T Botes 3 pens.
Scorers for Ulster: C Gilroy 2 tries; S Danielli try; I Humphreys 2 cons.
BENETTON TREVISO: K Burton; L Nitoglia, A Pratichetti, G Garcia, J Maddock; W De Waal, T Botes; I Fernandez Rouyet, E Ceccato, P Di Santo; A Pavanello (capt), C Van Zyl; F Minton, V Bernabo, M Filippuci.
Replacements: A Allori for Fernandez-Rouyet, E Pavanello for Bernabo (both 47), M Sepe for Nitoglia, F Sbaraglini for Ceccato (both 63), F Semenzato for de Waal (69), B de Jager for Botes (78), G Padro for Pavanello (80).
ULSTER: A D’Arcy; C Gilroy, D Cave, P Wallace, S Danielli; I Humphreys, P Marshall; B Young, N Brady, BJ Botha; T Barker, D Tuohy; P Wannenburg, W Faloon, C Henry (capt).
Replacements: I Whitten for Cave (57), P McAllister for Young (62), N McComb for Henry (64), A Kyriacou for Brady (80).
Referee: G Knox (SRU)