Kaka's 100th goal helps Milan win
Kaka, who is in his second spell at Milan, scored twice to take his tally to 101 goals for the club. Teenage striker Bryan Cristante scored the third in his first start.
In the early match, Dries Mertens scored twice to help Napoli move two points behind Roma, which lost to Juventus on Sunday.
Also, Luca Toni scored twice as newly-promoted Hellas Verona won 3-1 at Udinese.
In other matches, it was: Parma 3, Torino 1; Catania 2, Bologna 0; and Genoa 2, Sassuolo 0.
Milan had endured a bad finish to 2013 with a derby defeat to Inter Milan and was still without Riccardo Montolivo, Stephan El Shaarawy, Valter Birsa, Ignazio Abate, Kevin Constant and Sulley Muntari. Mario Balotelli had flu-like symptoms and was only fit for the bench so the 18-year-old Cristante was handed a first league start.
Cristante had previously played only five minutes of Serie A football but he had two goalscoring opportunities within the first 14 minutes and hit the crossbar.
Kaka had been waiting for more than a month to reach a century of goals for Milan and he did so in the 35th minute, finishing off a swift counterattack led by Urby Emanuelson following an Atalanta corner.
Atalanta threatened to equalize, notably just before halftime when Cristian Raimondi's shot was deflected onto the upright.
However, two goals in three minutes all but sealed the match after Balotelli was introduced shortly before the hour mark.
Milan doubled its lead against the run of play when Balotelli pulled the ball back and, although Robinho mishit his effort, Kaka slotted the ball home.
Moments after the Brazilian's 101st goal, Cristante netted his first, with a fine angled drive into the bottom corner from outside the area.
Milan moved provisionally into 10th spot with its first win in four league matches.
In the early kickoff, Napoli broke the deadlock eight minutes into the second half following an entertaining first period. Gonzalo Higuain cut the ball back into the area from the right flank for Mertens to volley into the bottom right corner.
Manolo Gabbiadini hit the crossbar for Sampdoria shortly before Mertens doubled his tally with a free kick over the wall which bounced under Junior da Costa's arms.
Sampdoria had a chance to get back into the game when an effort from substitute Nicola Pozzi hit both posts but stayed out. It was Sampdoria's first loss under Sinisa Mihajlovic.
Verona is only six points behind Napoli after another strong performance by Toni, who continues to boost his claims for a spot in the Italy World Cup squad.
Toni scored his first in the eighth minute following a howler from Udinese goalkeeper Zeljko Brkic, who allowed the ball to roll between his hands and legs as he stooped to gather.
The 36-year-old Toni pounced again half an hour later when he beat the offside trap to send Romulo's pass home.
Roberto Pereyra got Udinese back into the match with a stunning goal just before halftime, controlling the ball on his left leg before switching to volley into the far corner.
Substitute Juan Iturbe sealed the match in the 70th minute.
Torino saw its run of three successive victories ended as Amauri ended his goal drought for Parma.
Ciro Immobile fired Torino in front but Marco Marchionni leveled before a brilliant backheel flick from Alessandro Lucarelli.
Amauri then scored his first goal since the opening day of the season.
Elsewhere, there was controversy over Catania's opening goal as at least four home players appeared to be offside when Gonzalo Bergessio headed home Francesco Lodi's free kick. Lodi was playing his first game for Catania after a six-month spell at Genoa and he also got on the scoresheet with a penalty after Archimede Morleo had handled.
In Genoa, Alberto Gilardino scored one penalty but had another saved in the final minute. Andrea Bertolacci volleyed home the second goal.