Strike pair Zlatan Ibrahimovic and Robinho scored the goals as AC Milan emerged with a 3-0 victory from their trip to Novara on Sunday and remain hot on the heels of league leaders Juventus.
In the day's evening game Inter Milan came from behind to beat Lazio 2-1 and record their seventh straight win.
Juve won 2-0 at Atalanta on Saturday and had briefly put daylight between themselves and the rest but Milan's success closes the gap to a single point.
Udinese are also hanging on in third, three points behind Juve, after a 2-1 win over Catania, with Inter now fourth and another three points further back.
Milan coach Massimiliano Allegri insisted he was happy with his team's position at the halfway mark of the season.
"We needed the three points after the three we lost in the derby and that's what we were concenrated on," he said.
"We've got 40 points which is the same as we had at the same stage last season. Juve have done better, they have one more point but there are 19 matches left."
Ibrahimovic scored a brace and is now level with Udinese captain Antonio Di Natale at the top of the goalscoring charts.
Unlike the Italian Cup meeting between the pair on Wednesday - which Milan squeaked through 2-1 after extra-time - Novara couldn't make life particularly difficult for the champions.
Almost all the pressure in the first half was put on the Novara goal but the hosts managed to hold firm.
The hosts cracked just 12 minutes after the re-start as Milan captain Massimo Ambrosini picked out Ibrahimovic at the back post with a short, dinked cross.
The Sweden forward had lost his marker and had time to control the ball on his thigh before volleying past Ujkani.
But moments later Robinho slid in at the back post to divert in Stephan El Shaarawy's shot that appeared to be going wide.
And the coup de grace came from Ibrahimovic in the final minute with a clever flick that fooled Ujkani and three defenders before trickling over the line.
At the San Siro Tommaso Rocchi gave the visitors the lead before forward pair Diego Milito and Giampaolo Pazzini hit back for Inter.
Inter coach Claudio Ranieri was a far from happy man despite the win.
"The only thing I can take from this game is the result, we couldn't even put three passes together," he moaned.
"I'll take the result because we need to go forwards and get as many points as possible. We can't play worse than we did. There were moments but the rest of the time we didn't play as a team."
Lazio were a lick of paint away from taking the lead on 14 minutes following a mistake by Lucio that let in Rocchi but the striker slipped as he went to shoot, wrong-footing goalkeeper Julio Cesar but seeing his effort come back off the post.
He scored a great goal on the half hour mark, though, as he made a clever diagonal run across the back-line, latched onto Cristian Ledesma's through-ball and shot on the turn across Cesar.
But a minute before the break Milito played a one-two with Alvarez and scored from a tight angle.
And just past the hour mark Lazio's defence went to sleep as Lucio sent a header forward, allowing Pazzini to nip in behind and, on the stretch, lob Marchetti from 20 yards.
Miroslav Klose should have snatched a point for Lazio but shot straight at Cesar from 12 yards when clean through.
In Udine, Colombia wing-back Pablo Armero opened the scoring on 20 minutes and enigmatic striker Di Natale added the killer second eight minutes into the second period, although Udinese did concede a consolation five minutes into injury time.
Napoli, however, appear definitely out of the title running and probably also Champions League contention as they drew 1-1 at Siena.
The game of the day was in Sicily where Palermo trumped Genoa, who have now conceded 16 goals in their last four games, in a 5-3 thriller.