Alexandre Pato opened the scoring for Milan and, after goals from Pedro Rodriguez and David Villa looked to have put Barcelona in control, Thiago Silva's header secured a point in Group H.
Dortmund leveled in the 88th minute, with Ivan Perisic's volley canceling out Robin van Persie's first-half goal for Arsenal in the 1-1 draw in Group F.
Chelsea manager Andre Villas-Boas oversaw a 2-0 victory over Bayer Leverkusen in Group E in his first Champions League match, while his former club Porto recovered to beat nine-man Shakhtar Donetsk 2-1 in Group G.
While Porto won the Europa League in May, Barcelona lifted the European Cup for the second time in three years.
The Wembley Stadium triumph cemented Barcelona's status as world football's superpower and Pep Guardiola's side is favorite to become European champions for the fifth time in May.
But the script went against them at the Nou Camp on Tuesday against a Milan side missing Zlatan Ibrahimovic and Robinho to injury.
Just 24 seconds had elapsed when Pato coolly slid the ball under goalkeeper Victor Valdes after dashing through Barcelona''s half.
A determined Lionel Messi led the Spanish champions' response as the Argentina forward created Pedro Rodriguez's 36th-minute equalizer before David Villa curled a long-range free kick into the net five minutes into the second half.
"We could have played better after Barcelona took the lead," AC Milan coach Massimiliano Allegri said. "But I'm happy because the team did not collapse until we found the late equalizer."
That came deep into stoppage time when Thiago leapt high to meet Clarence Seedorf's corner to secure a point for Milan.
"We did all we were supposed to do but we are still left with this bitter taste," Barcelona coach Guardiola said.
All four teams in Group H are on one point after BATE Borisov and Viktoria Plzen drew 1-1.
In Germany, Arsenal went in front just before halftime when Van Persie won possession from Sebastian Kehl and played a one-two with Theo Walcott before beating Dortmund goalkeeper Roman Weidenfeller with his shot.
But after Marcel Schmelzer's free kick was only half-cleared by Kieran Gibbs toward the end, Ivan Perisic volleyed in a late equalizer.
The draw enabled Marseille to go top of the group after Lucho Gonzalez secured a 1-0 victory over Olympiakos.
The Argentine exploited a lapse in the Greek defense, meeting Jeremy Morel's cross before beating former River Plate teammate Franco Costanzo in the Olympiakos goal.