Lazio have now stretched their unbeaten run to 14 games in all competitions and have cut Juventus' lead to just three points at the top of Serie A.
On the other hand, Atalanta have lost their last five away matches and have failed to find the net in any of those games.
The home side lined up without the injured Andre Dias, so called on Michael Ciani. The visitors were without many of their defenders, with Stefano Lucchini, Gianpaolo Bellini and Daniele Capelli joining Guido Marilungo on the sidelines. Guglielmo Stendardo returned to face his former club.
Lazio struggled to get out of first gear, as Atalanta enjoyed the best of a dull first half.
Luca Cigarini blazed a free kick over and Giuseppe Biava headed a dangerous Brivio cross clear. Brivio then saw a volley closed down by the Lazio defence. Stefano Mauri tried to release Miroslav Klose, but Michele Canini got a crucial block in.
It took Lazio half an hour to muster a shot on goal, but Hernanes' long distance effort went wide.
Brivio went close once more, calling Federico Marchetti into action to fingertip a long range effort wide of the post.
The visitors continued to stifle their hosts and a second Hernanes strike went high and wide to end a disappointing first period.
Vladimir Petkovic read the riot act at half time, rung the changes and switched to a straight up 4-4-2.
The home side responded and upped the tempo. Mauri sliced a cross turn shot wide and substitute Floccari caused instant problems. The frontman laid the ball off to Klose, but the German was blocked before he could pull the trigger.
Floccari saw a shot deflected onto the roof of the net, then went down under Andrea Consigli as the goalkeeper smothered the ball from a corner. Lorik Cana had a header cleared off the line from a Hernanes corner.
Lazio hit the front halfway through the second half. Stefan Radu put in a dangerous low cross and Cristian Raimondi's clearance rebounded off the bar. As the ball came down, it ricocheted off Floccari's arm, before being smashed into the net from point blank range. Up to eight incensed Atalanta players surrounded the referee and yellow cards were dished out - including to Raimondi.
Atalanta handed Lazio the points on 77 minutes when Brivio headed Mauri's cross past Consigli and into his own goal, with Klose waiting to pounce. Brivio buried his head into the turf and was consoled by Klose.
Carmona was dismissed for kicking out at Mauri and Hernanes almost made it three, but his 20 yard free kick hit the underside of the bar and bounced clear.
Lazio: Marchetti; Konko, Biava, Ciani, Radu; Ledesma; Candreva, (Floccari 46) Mauri, Hernanes, Lulic; (Cana 46) Klose (Cavanda 86)
Atalanta: Consigli; Raimondi, Stendardo, Canini, Brivio; Giorgi, (Parra 81) Cigarini, Carmona, Bonaventura; Moralez; (De Luca 74) Denis (Radovanovic 85)
Goals: Floccari 68, (L) Brivio OG 77 (L)
Sent off: Carmona 83 (A)