The visitors looked set to take a healthy lead with them back to the Allianz Arena after goals from Thomas Muller and Arjen Robben inside the first hour in Turin.
However, Max Allegri’s side battled back thanks to strikes from Paulo Dybala and substitute Stefano Sturaro to leave the tie hanging in the balance ahead of the return tie in Bavaria on March 16.
Juventus headed into the match without Giorgio Chiellini (calf) and Alex Sandro (thigh), however, Mario Mandzukic was fit to start after recovering from a calf injury.
Bayern, meanwhile, were missing a number of first-choice defenders, including Javi Martinez (knee), Jerome Boateng (groin) and Holger Badstuber (ankle).
As a result, Pep Guardiola was forced to use midfielder Joshua Kimmich and left-back David Alaba in a makeshift central-defensive partnership, not that anyone would have known though after the opening half.
The Bundesliga champions dominated proceedings right from the kick-off, with veteran Juventus goalkeeper Gianluigi Buffon – who had not conceded a goal in over 11 hours of football – a busy man before the break.
Buffon had to be alert to keep out an early volley from Arturo Vidal, who was playing against his former club for the first time, although the Italy international should have been left helpless moments later after another Bayern break down their right wing.
However, after nice build-up play involving Kimmich, Philipp Lahm and Robert Lewandowski, the Pole picked out the unmarked Muller just six yards from goal, only for the forward to stumble and miscontrol the ball and the chance was gone.
More opportunities came and went before Munich finally made a deserved 43rd-minute breakthrough, and there was no surprise either to see the influential Robben involved.
The Dutchman advanced down the right, before sending over a deep cross to Douglas Costa at the far post and the Brazilian’s pull back was then tucked home by the unmarked Muller lurking eight yards from goal.
The Old Lady would have been grateful to hear the half-time whistle, however, it took Bayern just 10 second-half minutes to double their lead after yet another devastating counter-attack.
Lewandowski broke up field and fed Robben and when the winger cut back inside on to his more favoured left foot, there was only going to be one outcome as the man whose goal won Bayern the 2013 Champions League final beat Buffon with an unstoppable curling shot from just inside the area.
But with the match seemingly over as a contest, Juve were handed a lifeline after a slip by inexperienced centre-back Kimmich gave Mandzukic the chance to slip Dybala through on goal, with the Argentina international beating Manuel Neuer with a cool finish just past the hour-mark.
Allegri then introduced both Sturaro and Alvaro Morata, and the duo combined to draw the Serie A champions level with 14 minutes to go.
Paul Pogba found Morata and the Spaniard’s clever header across the six-yard box was toe-poked home from close range by Sturaro to set up a grandstand finish, with both teams going all out for a winner in the closing minutes.