Juan Cuadrado's stunning strike and a Blaise Matuidi header looked to have earned Maurizio Sarri's side victory in Group D on Thursday (AEST).
However, Atletico produced a wonderful fightback as set pieces proved Juve's undoing, Stefan Savic nodding home from close range to set up a grandstand finish at the Wanda Metropolitano.
With injury time beckoning, substitute Herrera rose highest in the box to superbly flick home a header from Kieran Trippier's left-wing corner, leaving the spoils shared.
Meanwhile, Grzegorz Krychowiak and Dimitri Barinov capitalised on Bayer Leverkusen's blunders to give Lokomotiv Moscow a 2-1 win in its UEFA Champion League Group D opener on Thursday (AEST).
Krychowiak profited from some carless play from Leverkusen's players in their own half to give the Russian side the lead in the 16th minute at the BayArena.
An own goal from Benedikt Howedes got the hosts back on level terms but Barinov punished another Leverkusen mistake to seal the win for the visitor.
Club Brugge's unbeaten run in the UEFA Champions League continued but it could not find a way through Galatasaray in a frustrating 0-0 draw.
Brugge exited last season's competition in the group stage but went on a streak of four successive games without defeat to end its participation in the tournament.
It had much the better of Wednesday's Group A encounter at the Jan Breydel Stadium but wasted too many opportunities in a game it deserved more from.
The stalemate does little for the hopes of two teams expected to be battling for the Europa League place in a group containing heavyweights Real Madrid and Paris Saint-Germain.