Vidal missed a penalty late in a first half that Bayern largely controlled but the Bundesliga leaders failed to recover once Javi Martinez had been sent off in between strikes from Ronaldo.
With the away goal secured, Madrid looked content to hit Bayern on the counter-attack, and the tactical tweak brought them a further advantage as Martinez picked up two yellow cards in the space of three minutes for fouling Ronaldo as he looked to break into the hosts' half.
Bayern, unbeaten at home for over a year going into the tie, started well when Arturo Vidal powered a header past Keylor Navas from a corner.
The Chilean then had a golden opportunity to make it 2-0 in the the second minute of stoppage time after the referee gave a harsh penalty against Dani Carvajal.
Ronaldo scored the first of his two goals just two minutes into the second-half of play.
After all of Bayern's early pressure, it was Real Madrid who stepped up a gear and went close to opening the scoring in the 18th minute when Toni Kroos' superb cross was met by the head of Karim Benzema, but his downward effort bounced up and came back off the crossbar before being gathered by Manuel Neuer.
"Having 10 players of course made it more hard, but we did okay". But for today's match, key absences on both sides will play a large role in the result.
Also Wednesday, Antoine Griezmann converted a first-half penalty for Atletico Madrid to beat Leicester 1-0 at home, and Borussia Dortmund lost 3-2 at home to Monaco in the quarterfinal that was rescheduled from Tuesday, when three explosions targeted the German team's bus.
United Airlines CEO finally apologizes for violent incident
When too few volunteers came forward, law enforcement was tasked to select random passengers and force them off the plane. Munoz apologized on Tuesday, calling the episode "truly horrific", and pledged a full review by April 30.
On Wednesday, the Champions League's all-time top goalscorer became the first player to score 100 goals in European club competitions.
"A tie is never decided in the first leg but we won the first match, the second is still to come".
Ronaldo has now scored 97 goals in the Champions League, two in the UEFA Super Cup and one in ECL qualifying.
They poured forward in search of the victor and Benzema's toe-poke was blocked by Neuer, who then pulled off a sharp reaction save to prevent Ronaldo from scoring again on 75 minutes.
Los Blancos are now on a run of scoring at least once in their past 52 games - a new Spanish record - but will have to be at their best to keep this run going in Munich.
Ronaldo was anonymous in a first half which was controlled by Bayern but the former Manchester United man dominated after the break to carry his side into a strong position.
Bayern were missing Poland forward Robert Lewandowsi because of a shoulder injury, and lacked a cutting edge in the final third. Asensio plays a wonderful ball over the defence and round to Ronaldo and he pokes it through Neuer.