Match ends, Juventus 2, FC Bayern München 2.
Juventus produced a remarkable second-half fightback against Bayern Munich to give themselves hope going into the Champions League last 16 second leg.
The Bundesliga leaders overwhelmed their Serie A counterparts in the first half, and took the lead when Thomas Muller slotted in before Arjen Robben curled in the second.
Juve pulled a goal back in the 63rd minute when Paulo Dybala tucked home.
The comeback was complete when Stefano Sturaro poked in from close range.
Juve's first-half humbling
At half-time, Juve coach Massimiliano Allegri must have thought "let's keep this respectable".
His team were pummelled in the first half. The graphic shows that they were camped in their own half by wave after wave of Bayern attacks.
Juve went into the match having conceded only once in the 11 matches they had played since the start of 2016 - however, they had yet to play a team of Bayern's potency.
Arturo Vidal and Juan Bernat tested veteran keeper Gianluigi Buffon and Muller went close, before they took the lead. It came when defender Andrea Barzagli's clearance from Douglas Costa's volleyed cross fell at the feet of Muller, who did the rest from 10 yards,
Bayern went again and this time it was a three-man break. Striker Robert Lewandowski appeared to send Robben too far wide with his pass into the area, but the Dutchman - in customary style - cut in and feigned to shoot before sending his effort past the reach of Buffon.
The Old Lady finds her teeth
Even the most adventurous punter would have hesitated putting money on Juve to turn this around.
The key to the change in fortunes were the substitutions. Hernanes, Sturaro and Alvaro Morata provided more energy to the attack, as Allegri experimented with his tactics.
There was a bit of luck with the first as Joshua Kimmich lost the ball 25 yards from goal. This allowed Mario Mandzukic to play in Dybala, who converted with a composed finish.
The Bayern defence was breached again when Morata's headed pass into the six-yard area was slammed in by fellow substitute Sturaro.
Bayern are still favourites to go through because of their two away goals, but Juve's second-half display makes this next match an intriguing prospect.
Bayern manager Pep Guardiola: "Juventus made it to last year's final, not us. We're not dealing with a team from the provinces.
"I'm really happy with how we played. It's one of the matches from my career that I want to remember the most.
"You cannot really expect that your opponent will not get a single chance. That's football. Sometimes you can't look at just the result. We played with character."
Juve coach Massimiliano Allegri: "In the first half they pushed us hard in our own half and we just couldn't settle. We started making a lot of mistakes with our passes and didn't use the space well, but let's not forget we were playing Bayern.
"After the interval we played a lot better.
"We might have even snatched the win at the end, but we will need to make sure there's no repeat of our first half when we go to Munich."
- 16Ju Cuadrado
- 6KhediraSubstituted forSturaroat 69'minutes
- 8MarchisioSubstituted forde Carvalho Andrade Limaat 45'minutes
- 21DybalaSubstituted forMorataat 75'minutesBooked at 79mins
- 11de Carvalho Andrade Lima
- 25Murara Neto
- 18BernatSubstituted forBenatiaat 74'minutes
- 23VidalBooked at 90mins
- 6Thiago Alcántara
- 11Douglas CostaBooked at 20minsSubstituted forRibéryat 84'minutes
- 9LewandowskiBooked at 70mins
- 13Ferreira de Souza
- Martin Atkinson
- Shots on Target
Second Half ends, Juventus 2, FC Bayern München 2.
Thomas Müller (FC Bayern München) wins a free kick in the defensive half.
Foul by Hernanes (Juventus).
Attempt saved. Leonardo Bonucci (Juventus) right footed shot from outside the box is saved in the centre of the goal.
Arturo Vidal (FC Bayern München) is shown the yellow card for a bad foul.
Foul by Arturo Vidal (FC Bayern München).
Álvaro Morata (Juventus) wins a free kick on the left wing.
Attempt missed. Medhi Benatia (FC Bayern München) header from the centre of the box is just a bit too high. Assisted by Thiago Alcántara with a cross following a corner.
Corner, FC Bayern München. Conceded by Andrea Barzagli.
Foul by Robert Lewandowski (FC Bayern München).
Andrea Barzagli (Juventus) wins a free kick in the defensive half.
Substitution, FC Bayern München. Franck Ribéry replaces Douglas Costa.
Attempt missed. Paul Pogba (Juventus) header from the centre of the box is just a bit too high. Assisted by Stephan Lichtsteiner with a cross.
Foul by Philipp Lahm (FC Bayern München).
Paul Pogba (Juventus) wins a free kick on the left wing.
Álvaro Morata (Juventus) is shown the yellow card for a bad foul.
Arjen Robben (FC Bayern München) wins a free kick in the defensive half.
Foul by Álvaro Morata (Juventus).
Attempt missed. Robert Lewandowski (FC Bayern München) header from the centre of the box is just a bit too high. Assisted by Thiago Alcántara with a cross following a set piece situation.