Serbian midfielder Milinkovic-Savic was Lazio's top scorer behind Ciro Immobile last season with 12 league goals but this term had only found the net once against Genoa on September 23.
But the 23-year-old scored his second of the season after 12 minutes when Joaquin Correa's angled drive was cleared by Cagliari keeper Alessio Cragno into Milinkovic-Savic's path, with the Serb finishing off.
Milinkovic-Savic also played a role in the second ten minutes later, crossing in for Francesco Acerbi, with Lazio captain Senad Lulic scoring the third after 67 minutes finishing off an Immobile assist.
Joao Pedro pulled one back for Cagliari three minutes into injury time from the spot after being elbowed in the face by Lazio's Angolan defender Bastos.
"We deserved a few more goals, but we'll enjoy this victory, that has been absent for too long, then can start preparing for Bologna," said Lazio coach Simone Inzaghi.
Lazio move one point ahead of AC Milan, who host Fiorentina later on Saturday, with Calgiari 13th having taken just four points from their last seven games.
Leaders Juventus host Roma looking to maintain their unbeaten start to the league season ahead of Christmas, with second-placed Napoli at home against SPAL.