A Manuel Lazzari own goal put Ivan Juric’s side in front late in the first half before Felipe Caicedo levelled after the break, but the impressive Adrien Tameze pounced on a defensive error to net the winner.
Lazio have won just once at home in Serie A this season in six attempts, and the defeat leaves them down in eighth place, while the Gialloblu move into sixth.
The Aquile threatened first when Ciro Immobile pounced on a loose ball in the box and pulled a shot wide of the far post, but the hosts then lost Francesco Acerbi to injury before the half-hour mark.
Verona made the breakthrough on the brink of half time when Lazzari diverted a Federico Dimarco volley into his own net.
The visitors almost had a second just moments after the restart when Mattia Zaccagni was sent clean through on goal from a Tameze nod-on, but his finish was saved by the foot of Pepe Reina.
Simone Inzaghi needed a response from his side and that was exactly what he got when Caicedo held off his marker before firing a shot into the bottom corner on the turn ten minutes into the second half.
But the Biancocelesti shot themselves in the foot when a calamitous Stefan Radu back pass was pounced on by Tameze, who calmly rounded Reina and tapped in to put the visitors back in front.
Lazio pushed for an equaliser late on as Mohamed Fares was denied by a desperate defensive block and Marco Silvestri parried a Sergej Milinkovic-Savic header.
The Verona goalkeeper came to the rescue again in stoppage time when he somehow stuck out a foot to block a deflected Andreas Pereira effort despite being off balance.