Messi has been sidelined by injury - which forced him to miss Argentina's World Cup qualifiers last week - but was needed to claim a point after a defensive howler gifted Milan the lead.
Javier Mascherano and Gerard Pique were at fault to allow Robinho to combine with Kaka before putting his side ahead.
Messi replied on 23 minutes after he was afforded too much space, but despite the visitors dominating thereafter they were unable to find a winner.
Barcelona top Group H with seven points, with AC Milan having five. Celtic come next with three after beating Ajax 2-1.
The other game in F also ended 2-1 as Napoli won in Marseille - the French side having lost all three games so far.
Jose Callejon put Napoli ahead three minutes before the break and Duvan Zapata put Rafael Benitez's men clear as they bounced back from their weekend loss to Roma.
Andre Ayew struck for the hosts with four minutes left but it was too late, with Arsenal, Napoli and Dortmund all tied together on six points.
Chelsea won 3-0 in Germany as they saw off Schalke to go to the top of Group E.
The other game in that group saw Basle lose ground as they drew 1-1 with Steaua Bucharest.
Marcelo Diaz put the Swiss ahead after the interval but with two minutes left Leandro Tatu earned the Romanians a point.
In Group G, Atletico Madrid won 3-0 at Austria Vienna.
Raul Garcia scored once and Diego Costa twice for Diego Simeone's side, who lost their 100 per cent Primera Division record at the weekend.
They head the group on nine points and are almost on the brink of qualification, with second-placed Zenit St Petersburg 1-0 winners at Porto thanks to Aleksandr Kerzhakov's goal.