Stefano Pioli's side stayed four points behind city rivals and league leaders Inter Milan, who were 1-0 winners over Torino, heading into the winter break thanks to Franck Kessie's first-half brace and further goals from Alessandro Florenzi and Theo Hernandez.
The win allowed Milan to reclaim a second spot from Napoli after their controversial loss at the hands of Luciano Spalletti's team at the weekend and leaves the seven-time European champions as the principle pretenders to Inter's Serie A crown.
They are three points ahead of third-placed Napoli who, still afflicted by a host of absences, were sunk by a Juan Jesus own goal in the 37th minute which ended Spezia's run of six matches without a win and moves them five points away from the relegation zone.
A fine team display in Tuscany meanwhile blew away some of the dark clouds hovering over Milan following their humiliating flop in the Champions League and just two wins in their previous six league matches which allowed red-hot Inter to take the initiative in the title race.
Kessie opened the scoring with a first-time strike from Olivier Giroud's layoff in the 12th minute but it looked like it would be another uncomfortable night for Milan when Nedim Bajrami levelled only six minutes later.
However Kessie, who was denied a last-gasp equaliser against Napoli by VAR on Sunday, but the away side back in the lead shortly before the break with a low drive from a tight angle that fizzed between Guglielmo Vicario's legs.
Two quick-fire strikes midway through the second ensured the points for Milan, with Florenzi scoring his first Rossoneri goal from a 62nd-minute free-kick before Hernandez lashed home the fourth from close range.
Andrea Pinamonti's penalty six minutes from the end made no difference to the result.
Already ensured of first place over the winter break, which starts on Thursday and ends on 6 January, Inter claimed victory thanks to Denzel Dumfries's winner on the half-hour mark at the San Siro.
Dutch wing-back Dumfries met Edin Dzeko's pass with a calmly-placed finish after a rapid break, making sure it would be a happy Christmas for the blue-and-black half of Milan.
"We still have a long road full of obstacles ahead of us," said coach Simone Inzaghi to DAZN of Inter's title push.
"We'll take the good period we're going through but from the very beginning there was confidence here."
Inzaghi's Inter have won seven league games on the bounce, collected six straight clean sheets and are by some distance Serie A's top scorers with 49 goals.
Roma missed the chance to close the gap on the Champions League places after a 1-1 draw with Sampdoria at the Stadio Olimpico.
Jose Mourinho's side thought they were set to move four points behind fourth-placed Atalanta, who drew at Genoa on Tuesday when Eldor Shomurodov drilled home the opener in the 72nd minute.
But Manolo Gabbiadini snatched a point with his fifth goal in as many matches eight minutes later to move Samp nine points clear of the relegation zone and leave Roma sixth on 32 points.
"I don't want to be too critical of my players but we didn't play well," said Mourinho.
"After they equalised only one team tried to win, they sat back and were happy to take a draw."
Roma are level with Fiorentina who sit seventh after only managing a draw at Verona, a match that featured two of the league's most in-form strikers in Dusan Vlahovic and Giovanni Simeone.
However, it was Kevin Lasagna who opened the scoring for Verona in the 17th minute when he collected Gianluca Caprari's through ball and slipped home a neat near-post finish, only for Gaetano Castrovilli to level with a diving header nine minutes from the end.