Lazio, who spent the week leading up to the game in a training retreat after failing to beat bottom side Chievo last weekend, thought they had won it when Ciro Immobile converted a 96th-minute penalty.
But Saponara’s exquisite 99th-minute volley stunned the home crowd as Lazio failed to take their chance to leapfrog AC Milan into fourth place and extended their winless run to four games.
Fabio Quagliarella put Sampdoria in front from close range midway through the first half, marking a personal record as he scored in a fifth successive Serie A game for the first time.
Lazio pushed for an equaliser as Immobile hit the post before the break and the hosts drew level when Francesco Acerbi tapped in from a corner with 12 minutes left on the clock.
Sampdoria were reduced to 10 men when Bartosz Bereszynski was shown a second yellow card in stoppage time for hauling down Joaquin Correa.
Lazio were awarded a penalty for handball following a pitch-side VAR review, which Immobile fired into the corner, but Samp substitute Saponara lobbed goalkeeper Thomas Strakosha with a cushioned volley in the last of the nine added minutes.
Lazio remained in fifth place on 25 points, behind AC Milan on goal difference ahead of their game against Torino on Sunday, while Sampdoria are 10th with 20 points. (Reporting by Alasdair Mackenzie, editing by Ed Osmond)
(This story has not been edited by Devdiscourse staff and is auto-generated from a syndicated feed.)