The Italian side made it four wins in a row as it took advantage of a profligate performance from its opponent in Italy.
Glasgow led 14-12 despite a double from Dean Budd for Treviso, with Sam Johnson and George Horne scoring either side of Budd's second for the Warriors.
However, Braam Steyn put Treviso back in front as he crashed over and Tommaso Allan again restored the advantage from the tee after the boot of Adam Hastings had levelled matters once more.
Glasgow saw numerous chances to win it go begging as Alex Allan was held up over the line, and Hastings's pass to Niko Matawalu in the corner went forward, with substitute Brandon Thomson missing a last-minute penalty as Treviso held on.
Munster took advantage of another Glasgow slip-up with a narrow 31-24 victory at Connacht. It trailed 17-14 three minutes into the second half but 17 points in 16 minutes effectively made the points safe for Munster, for whom Joey Carbery scored 15 points, despite Jack Carty fraying the nerves by dotting down for Connacht seven minutes from time.
Conference B leader Leinster routed Ulster, running in six tries in a 40-7 triumph, while Scarlets defeated Dragons 22-13 thanks in part to 12 points from the boot of Dan Jones.
Scott Williams and George North crossed for Ospreys in their 20-11 derby victory over Cardiff Blues, whose winless run at Liberty Stadium now spans 14 years.
Elsewhere in Conference B, Edinburgh crushed Southern Kings 38-0.