Hello
Goals from Brahim Diaz, Jude Bellingham and Joselu earned Real a 3-0 win over lowly Cadiz. Later, Girona beat Barcelona 4-2, a result that left Carlo Ancelotti's side with an unassailable lead in the standings.
Bayern, with only the Champions League title left to fight for, had scored twice in four minutes early in the second half through a Leroy Sane strike and Harry Kane penalty to turn the game around before Vinicius' spot kick.
The result left second-placed Barca 11 points adrift of the leaders with six games left.
City's Bernardo Silva and Mateo Kovacic both misfired in the shootout to put Madrid in the driving seat.
Federico Valverde salvaged a draw for Real late on after City had taken a 3-2 lead with sumptuous strikes from Phil Foden and Josko Gvardiol following a Ruben Dias own goal and Rodrygo strike that gave the hosts a half-time lead in Spain's capital.
The Real Madrid winger said he is frustrated as fans keep getting away with hurling racist abuse towards him.
Paris St Germain, who are seeking their first Champions League title, will take on Barcelona while Atletico Madrid face Bundesliga side Borussia Dortmund, which means all three Spanish teams have the opportunity to reach the semifinals.
But Leipzig's Willi Orban levelled the score three minutes later with a header to set up a tense final few minutes that included a strike that hit the crossbar by Dani Olmo.
Media reports last September said Mbappe had agreed to forego loyalty bonuses worth up to 100 million euros ($107.84 million) to leave PSG as a free agent.
In March of this year, then Brazilian FA (CBF) president Ednaldo Rodrigues told Reuters that Ancelotti was his main target for the position of national team coach.