Juventus had to settle for a narrow first-leg lead after missing a several good chances against Borussia Dortmund in their Champions League last-16 tie.
Carlos Tevez put the Italians ahead after Roman Weidenfeller spilled at his feet, but Dortmund soon struck back.
Marco Reus exploited Giorgio Chiellini’s slip to scamper in and shoot home just three minutes later.
Alvaro Morata’s careful finish put Juve back in front and the hosts could have stretched away in the second half.
After the break, Tevez went close on three occasions, Chiellini rose unmarked to head over the top and Roberto Pereyra shot just wide.
But the Italians ultimately failed to exploit Dortmund’s fragility and will take only a one-goal advantage to Germany.
The win took the Serie A champions’ unbeaten home run to 47 games and they made the fast start that a simmering atmosphere at the Juventus Stadium demanded.
With defenders back in numbers there appeared little danger for Dortmund despite Morata escaping the attentions of his man on the left.
But the Spaniard’s well-hit shot and Dortmund goalkeeper Weidenfeller’s fumble presented Tevez with a simple finish five yards out.
A woeful run of domestic form left them bottom of the Bundesliga at the start of 2015 but Dortmund have kept faith with a pressing game and their energy soon delivered parity.
Chiellini lost his footing as he attempted to control a routine ball forward and Reus, who has recently agreed a contract extension with the Germans, raced in on goal and coolly beat Gianluigi Buffon.
The visitors enjoyed more of the possession for the rest of the half but never looked secure at the back.
Leonardo Bonucci headed over from a good position for Juventus, and Dortmund were caught out again by a swift counter-attack just before the break as Morata was left free to side-foot home from six yards.
Dortmund continued to be undermined as Weidenfeller and his defence wobbled through to the end of the tie but, with an away goal secured, they will hope the Westfalenstadion can inspire them to the quarter-finals.
Read more at BBC Sport