Milan see off Cagliari to take top spot
Cagliari defender Pisano sliced a Robinho cross into his own net under pressure from Antonio Nocerino after four minutes to put the Rossoneri ahead in a first half the Sardinians went on to dominate.
Champions Milan put on a better performance after the break with Ibrahimovic doubling their lead on the hour after combining with Robinho as mid-table Cagliari's challenge faded.
Milan, unbeaten in 11 games, move to 34 points after 16 games, ahead of Juve and three points clear of Udinese before the pair meeting in Udine on Wednesday.
Milan coach Massimiliano Allegri said his team had to show heart to end the year on a winning note.
"The second half was better than the first, but it's important to get three points to end the year with. We'll see what happens now in tomorrow's games," he told Italy's Sky Sport channel.
Allegri, who once again opted to play Robinho in attack despite pre-match comments from club owner Silvio Berlusconi praising Pato, said he was happy with his selection.
"There's no problem with the president," he said. "He can talk as he likes. I try to do things for the good of Milan."
The home side almost grabbed the lead with their first attack when Brazilian forward Thiago Ribeiro collected a cross from the returning Andrea Cossu and fizzed a low drive against the upright from a tight angle on the right side of the box.
Two minutes later, Cagliari fell behind when Robinho, running on to a disguised pass from Ibrahimovic, skipped around the mistimed charge of goalkeeper Michael Agazzi and saw his cross bundled over the line by Pisano under the challenge of Nocerino.
Christian Abbiati, back in place of Marco Amelia in the Milan goal, produced a flying save from an Albin Ekdal piledriver on 14 minutes before Argentine striker Joaquin Larrivey flashed a header wide as Cagliari pressed before the break.
Robinho should have doubled Milan's advantage on 58 minutes but after picking up Ibrahimovic's astute pass and skipping past Agazzi, the Brazilian blasted the ball over the bar from a tight angle.
Two minutes later, the two combined to stunning effect as Ibrahimovic played a one-two with Robinho and used his 1.95-metre frame to toe-poke the ball ahead of Agazzi's lunging dive and into the bottom corner.
Siena and Fiorentina battled to a goalless draw in a lacklustre Tuscan derby as the sides' ended the year languishing in the lower half of Serie A.
Striker Emanuele Calaio came closest to scoring for Siena, meeting Franco Brienza's left-wing cross with a brave header that came crashing back off the bar on 28 minutes.
Montenegrin forward Stevan Jovetic had the best chance for the away side, forcing Serbian goalkeeper Zeljko Brkic into a brilliant flying save to keep out a sharp turn and shot on the stroke of half-time.