Flanker Sean Reidy, centre Darren Cave, and winger Rory Scholes crossed before Olding went over for the crucial fourth try in a clinical second-half performance from the Irish province to keep them in the play-off hunt.
In a tight first half, Ian Humphreys kicked two penalties for Ulster, with Jayden Hayward adding one of his own for the hosts to send the visitors into the break 6-3 up.
Hayward levelled the scores 10 minutes after the interval but from there, Ulster took control of the match.
Reidy was the first to breach the Treviso defence when strong work from the forwards allowed him to burrow over from close range, and Humphreys made no mistake with the conversion.
Cave went over soon after with another try created by forward pressure in the Treviso 22. The Ireland centre took a short pass from scrum-half Paul Marshall to scoot over, Humphreys again converted.
Scholes intercepted a loose pass from Sam Christie to run half the length of the field to score, with Olding converting, before another spell of Ulster forward pressure saw the ball spun wide for Olding to cross.
Braam Steyn scored a late consolation for Treviso when he picked the ball up from the back of the maul to dot down. Hayward added the extras.
Victory lifts Ulster to fifth in the standings but boss Les Kiss found much for his side to improve on. “At half-time, we had a few words but the boys were very honest about what they had not delivered. And in the second half, although we didn’t start how I’d have liked, we eventually got a couple of mauls going, put them under pressure, dominated field and eventually put the points on.”
J Hayward; L Nitoglia, E Bacchin, A Sgarbi (capt), T Iannone; S Christie, A Lucchese; Alberto De Marchi, R Santamaria, S Ferrari; F Palmer, T Palmer; Andrea De Marchi, M Lazzaroni, R Barbieri.
L Bigi for Santamaria 16, C Traore for Alberto De Marchi 58, F Filippetto for Ferrari 42, J Montauriol for T Palmer 63, B Steyn for Barbieri 58, J Ambrosini for Lucchese 66, S Ragusi for Nitoglia 58, A Pratichetti for Bacchin 68.
L Ludik; R Scholes, D Cave, S Olding, C Gilroy; I Humphreys, P Marshall; C Black, R Herring (capt), R Lutton; A O’Connor, F van der Merwe; C Ross, S Reidy, R Wilson.
J Andrew for Herring 72 mins, A Warwick for Black 58, B Ross for Lutton 62, P Browne for O’Connor 62, L Dow for Ross 63, D Shanahan for P Marshall 73, L Marshall for Humphreys 60, J Stockdale for Gilroy 72.
Ian Davies (Wales).