Not even the return of experienced scrum half Chris Cusiter from an 11-month injury lay-off could inspire Glasgow who failed to turn their late pressure into points.
In the end, de Waal's drop goal in the 63rd minute was the difference between the sides, with Robert Barbieri and Graeme swapping tries early on in the second half.
Out-half Ruaridh Jackson kicked 11 of Glasgow's points and was left to rue two missed penalties while the Scots were trailing on the scoreboard.
It took 10 minutes for Treviso to put the first points on the board as de Waal, whose half-back partner Fabio Semenzato was forced off with a blood injury, landed a penalty from long range.
Jackson responded in kind on the quarter hour mark before Italian international Semenzato returned, his head wound having been treated satisfactorily.
Jackson booted the next points in the 27th minute but the hosts levelled on the stroke of half-time. Referee Dudley Phillips spotted an infringement as prop Matteo Muccignat went for the line and de Waal took the opportunity to make it 6-6.
Scotland international Cusiter had a very satisfactory 40-minute runout and was replaced by Colin Gregor at the break as the Warriors tried to notch an Italian double, following on from their win at Aironi two weeks ago.
But a fiery start to the second half here saw a stamp by Ryan Grant spark a minor fracas, with the Glasgow prop yellow carded for his part in the incident.
Treviso scored their only try while Glasgow were down to 14 men. de Waal received good ball from a lineout and fed flanker Barbieri, who burst through a gap and beat two defenders before stretching for the line.
Jackson missed a chance to cut the deficit with a penalty but, with Grant still off the pitch, Morrison, Glasgow's stand-in captain, boosted his team-mates when he found a gap in the home defence and crossed for a try which Jackson converted for 13-13.
The return of Grant was little help to Glasgow as de Waal put his side ahead once again after an infringement in the Scottish scrum, but Jackson was quick to respond once again, slotting over in the 56th minute to square things up again.
Amid a spate of substitutions, de Waal landed the match-winning points from open play after being teed up around 30 metres out from goal.
Jackson howled in anguish after another costly miss and the Warriors were unable to find a way through in several phases of attacking possession late on. Jackson's replacement Duncan Weir also missed out on a chance to land a levelling drop goal.
The win lifts Treviso above their opponents into tenth place in the table, with Franco Smith's men Wales-bound to face the Cardiff Blues next Thursday. Glasgow will have to raise their game for the visit of the Scarlets on Friday.
|Benetton Treviso Score Card|
|Willem de Waal||1||3||1||14|
|Glasgow Warriors Score Card|