The Italian champions took a shock lead after just 25 seconds from kick-off through Alexandre Pato but were soon pecked back by goals from Pedro and David Silva.
Pep Guardiola's side looked to be cruising to an opening win in Group H before Silva rose above the Barca defence to power home a late equalizer from a corner.
"Tonight I scored my best headed goal of my career," Silva told Sky Sport. "It's always difficult to play in the Champions League, but our work has just begun. It is competition too important for a player to ignore.
"I was a little nervous when jumping for the header. We have worked hard at Milanello [Milan's training base] on our shooting, and we scored an important goal.
"Now we must focus on what will be a tough game on Sunday. It is important to remain calm and although we didn't play well, we found an important goal in the end."
Milan take on Viktoria Plzen next on 28 September while Barcelona travel to BATE Borisov.