Thomas Mueller and Arjen Robben scored either side of halftime for Bayern but Paulo Dybala reduced the deficit with his first Champions League goal shortly after the hour.
That seemed to inspire Juventus, which almost levelled shortly afterward, before substitute Stefano Sturaro grabbed the equalizer 14 minutes from time.
"We need to build on the second half in which the lads played brilliantly," Juventus coach Massimiliano Allegri said. "We need to improve from the first half but don’t forget that Bayern is a great team, you just need to see how they pass the ball. And we didn’t give them too many chances.
"They dropped a bit in the second half and we got braver. That’s what we need. In Europe you need a lot more courage because what we are doing in the league is not enough."
MORE ON THE UEFA CHAMPIONS LEAGUE: Sportsnet panel’s picks and predictions || PSV set to crash into Atletico Madrid fortress || Arsenal’s Sanchez a man of brilliant moments || Photo gallery: 10 to watch in Champions League || Photo gallery: Round of 16 matchups || Analytics: Europa League vs. Champions League
Bayern goalkeeper Manuel Neuer was mainly a spectator in the first period, when he was often the only player in his half, cutting a lonely figure as far up the pitch as around the centre circle.
"It was a good Champions League match between two great teams," said Bayern coach Pep Guardiola. "We had a really great performance. We can’t forget who we played against: last year’s finalists, champions of Italy the past four years, just won 15 games in a row … I’m a bit disappointed by how we played not to have won but that’s football."
Barcelona won 2-0 at Arsenal in Tuesday’s other match.
There were some familiar faces for Juventus and Bayern Munich.
Arturo Vidal joined Bayern from Juventus last summer and his name was applauded by the Bianconeri fans when the teams were read out. Another former Juventus player, Kingsley Coman, was on the bench.
Former Bayern forward Mario Mandzukic returned for Juventus, following a month out injured, and had a couple of early chances against his old team, but Neuer made a comfortable save in the opening minute and Mandzukic fired wide of the right upright following a great cross from Dybala.
Otherwise it was all Bayern.
Vidal was the first player to test the goalkeeper and Gianluigi Buffon did well to palm away a volley from his former teammate in the fourth minute.
Bayern should have taken the lead in the 14th when Leonardo Bonucci allowed Robert Lewandowski through and he pulled back for Mueller, who seemed certain to score from three yards out but Bonucci atoned for his error by running in to clear away the German’s tame shot.
Mueller was not going to miss twice, however, and the World Cup winner put Bayern ahead on the stroke of halftime. Robben’s cross was put back in by Douglas Costa and Andrea Barzagli’s attempted clearance was straight at Mueller, who slotted into the bottom right corner.
Juventus seemed content to sit back in the opening period but appeared more determined after the break.
But it went from bad to worse 10 minutes into the second half when Lewandowski picked out Robben and he cut inside the penalty area before curling into the far side of the net to finish off a counterattack.
Bayern appeared headed for a fourth successive win against Juventus but the hosts kept attacking and got one back in the 63rd when Mandzukic took advantage of Joshua Kimmich’s poor clearance to send Dybala clear and the Argentina slotted past Neuer.
Juventus almost levelled immediately after but Juan Cuadrado’s effort was parried by Neuer and Paul Pogba curled narrowly over the bar.
The equalizer came from an unlikely source as Alvaro Morata nodded on Mandzukic’s pass to Sturaro, who fired into the roof of the net.