Defender Dias put through his own net in the 40th minute and that proved the difference between the sides at the Stadio Sant' Elia.
The visitors had a hatful of chances to equalise but found Cagliari goalkeeper in Michael Agazzi in inspired form.
Lazio stayed fourth in the Serie A standings despite the loss, but just one point clear of Udinese who thrashed Palermo 7-0 in Sicily.
Cagliari, meanwhile, have taken a giant step towards retaining their top-flight status. their Serie A status, climbing to ninth on 38 points.
The hosts were on the front foot from the start, Nene's header from Gabriele Perico's cross going wide.
At the other end, Agazzi kept out Libor Kozak's powerful header from Cristian Ledesma's cross.
Agazzi was called on again to make a save in the 36th minute. He managed to get a touch to clear Hernanes' bullet strike from 30 yards.
Cagliari finally went in front five minutes before the interval. Lazio goalkeeper Tommaso Berni did well to clear Robert Acquafresca's shot but the ball ricocheted off Dias' knee and went over the line.
Lazio surged forward more aggressively in the second half and Agazzi was forced to fully stretch to clear Ledesma's 30-yard volley.
Shortly after the hour mark, Francesco Matuzalem fed Hernanes on the edge of the area and his strike towards the far post was saved by Agazzi.
In the 85th minute, Berni kept Lazio in the game with a fine save from Simone Missiroli's eight-yard shot.
Cagliari defended deeply and the visitors were reduced to long-range efforts.
With two minutes to go, substitute Mauro Zarate tried his luck from outside the area but his attempt was again kept out by Agazzi in what was the last chance of the game.