Munich needed less than a minute to take the lead over the Italians through a thunderous strike by Austria defender David Alaba before Germany’s Thomas Müller grabbed Bayern’s second at the Allianz Arena with an hour gone.
“It was a great game and that is a great result to take to Turin next week,” said Bayern chairman Karl-Heinz Rummenigge.
With both sides top of their respective leagues, Bundesliga giants Bayern are bidding to reach their third Champions League final in four years while Juventus have won all five of their previous European quarter-finals against German teams.
But the Serie A leaders will have to produce a top performance in Turin next week if they are to maintain that record.
“We know there is still the return leg to play and we can certainly hope for a comeback,” said Juventus midfielder Andrea Pirlo.
“Obviously it’s never easy when you play away and you concede a goal after less than one minute, but Bayern played better than us for the entire 90 minutes.
“It was very difficult for us to play our normal game.”
Victory came at a price for Bayern with midfielder Toni Kroos expected to miss six weeks with a groin injury.
“It was a very intense game and our attacking players invested a lot into defensive work, which displayed great commitment,” said goal-scorer Müller.
“It’s a bit of a shame that we didn’t score a third goal.”
Heynckes demonstrated Bayern’s strength in depth by leaving Peru striker Claudio Pizarro on the bench — despite his having scored four goals in Saturday’s 9-2 rout of Hamburg — with Mario Mandzukic starting as the lone striker.
Brazil star Luiz Gustavo came on for the suspended Javi Martinez alongside Bastian Schweinsteiger in Munich’s defensive midfield.
For Juventus, strikers Alessandro Matri and Fabio Quagliarella paired up again in attack, while the trio of Giorgio Chiellini, Stephan Lichtsteiner and Claudio Marchisio were all brought into Antonio Conte’s 3-5-2 formation.
Bayern needed just 26 seconds to take the lead when Alaba launched a left-footed rocket from 35 metres out which gave Juventus goalkeeper Gianlugi Buffon no chance.
The ball took a slight deflection off Juventus’ Arturo Vidal on the way to the bottom right-hand corner in what was one of the fastest goals in Champions League history.
Kroos’ early groin injury meant Bayern had to shuffle their midfield with Arjen Robben coming onto the right-wing, Müller moving into the middle with Franck Ribery on the left.
Both Ribery and Robben kept Buffon busy with crisp shots, while Schweinsteiger curled a free-kick just over the top right-hand corner of the goal.
Munich kept up the pressure and the second goal came on 63 minutes when Gustavo fired in a long-range shot, which Buffon parried, but Mandzukic was on hand to square the ball for Müller to tap in.
There was more bad news for the Italians as midfielders Vidal and Lichtsteiner will both miss the return leg after picking up second-half bookings.
With Munich aiming to become the first German club to claim the treble of domestic league, cup and Champions League titles, they can wrap up the Bundesliga on Saturday if they win at Eintracht Frankfurt.
With seven games left and a 20-point lead, it would be the earliest confirmed title win in the German league’s history.