Albiol got his head to a Dries Mertens corner to score his first goal this season just before the break with goalkeeper Alex Meret ensuring the hosts kept all three points by denying SPAL's Alberto Paloschi and Mohamed Fares late on.
Carlo Ancelotti's side move to within five points of champions Juventus, who will look to maintain their unbeaten run against ninth-placed Roma in Turin later on Saturday.
"Thinking of Juventus is likely to demotivate us," said Ancelotti.
"We have to think about ourselves because this team can do more, we have room for improvement and I say it after today's match, which was not amazing."
The pressure is on Milan coach Gennaro Gattuso after Federico Chiesa's second-half scorcher pushed AC Milan out of the Champions League places at the expense of Lazio.
His side are a point behind Lazio, who ended their five-match winless league run with a 3-1 win over Cagliari in Rome.
Fiorentina meanwhile move up to seventh, just three points off the top four places after achieving back-to-back wins for just the second time this season.
"There's no use looking at who's to blame. The team is going through a bad moment," said Gattuso, whose side have take just two points from their last three games and crashed out of the Europa League.
Sergio Pellissier struck in the dying seconds to deny third-placed Inter, who slipped eight points behind Napoli and could find themselves 16 points behind deadly rivals Juve come the end of the weekend's fixtures.
Inter looked set for victory when Ivan Perisic scored the opener six minutes before the break, but the evergreen Pellissier, 39, gave his side an early Christmas present when he lobbed Inter goalkeeper Samir Handanovic a minute into injury time.
Krzysztof Piatek extended his lead at the top of the Serie A scoring charts when he scored his 13th goal of the season in Genoa's 3-1 win over Atalanta, the Polish striker moving two ahead of Juventus star Cristiano Ronaldo after sealing the points two minutes from the end.
City rival Sampdoria's fellow on-fire striker Fabio Quagliarella scored his eighth goal in seven league games as the Genoa club beat Empoli 4-2, taking his tally for this season to 10.
Earlier Sergej Milinkovic-Savic scored his first goal in three months as Lazio got back winning at the Stadio Olimpico and moved into the top four.
Serbian midfielder Milinkovic-Savic scored 12 times in the league last season but this term had only found the net once against Genoa on September 23.
The 23-year-old scored just his second of the season after 11 minutes when Joaquin Correa's angled drive was cleared by Cagliari keeper Alessio Cragno into Milinkovic-Savic's path, with the Serb finishing off.
He also played a role in the second 11 minutes later, crossing in for Francesco Acerbi to double the scores before Lazio captain Senad Lulic scored the third in the 67th minute by 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.