Milan made it three games unbeaten against Barcelona at San Siro with a 1-1 draw in UEFA Champions League Group H.
The hosts took the lead early in the match with a well-worked move that saw Kaka set-up his Brazilian team-mate Robinho to slot the ball into the bottom corner.
Barca hauled themselves level midway through the first half as Lionel Messi struck his sixth goal against Milan in the Champions League. The Argentine collected a pass from Andres Iniesta and fired home on his first start since overcoming a thigh injury.
Robinho and Adriano Correia both missed excellent opportunities to secure all three points in the second half, but neither could force either goalkeeper into action.
Marco Amelia replaced Christian Abbiati in goal for the hosts, while Mario Balotelli was fit enough to take his place on the bench after recovering from thigh problem.
Messi returned to the Barcelona starting line-up after coming on a substitute in their goalless draw with Osasuna at the weekend, although Carles Puyol was rested.
Milan started well and looked threatening with Kaka and Robinho, and the latter opened the scoring in the ninth minute.
The Brazilian pair linked up well on the counter attack and, when Kaka rolled a perfect pass across the penalty area, Robinho made no mistake as he fired past Victor Valdes.
Barcelona raised their game after being stunned by the former Real Madrid striker’s goal and began to control large spells of possession, Messi going close to an equaliser from a free-kick before he did level the scores midway through the first half.
Messi drifted in off the right to receive a pass from Iniesta, beat his defender and rifled the ball into the bottom corner to give Amelia no chance.
Both sides had chances to take the lead before half-time, but both Philippe Mexes and Alexis Sanchez missed from close range.
The hosts should have retaken the lead seven minutes into the second half only for Robinho to somehow miss when unmarked inside the penalty area.
Milan broke on the counter attack as Sulley Muntari was released down the left, he delivered an early cross into the penalty area that evaded Gerard Pique and left the Brazilian with the simple task of firing home, but he missed his kick and the ball rolled to safety.
With 71 minutes gone, Adriano should have scored for the Liga side but wasted a fantastic opportunity. He was picked out perfectly by Messi after escaping the attentions of Kaka before he fired wide from close range.
The result leaves Barcelona top of Group H with seven points, two clear of Milan after their opening three matches.