The second-leg quarter-final game ended in acrimony with Madrid's players furious that referee Slavko Vinčić sent off substitute Eduardo Camavinga with a second yellow card for an innocuous looking foul on Harry Kane after being urged to do so by the Bayern players in the 86th minute.
Díaz fired inside the right post three minutes later and Olise ended Wednesday night's contest definitively with a shot in off the far post in stoppage time to give Bayern a 6-4 win on aggregate after the Bavarian powerhouse won the first leg of their quarter-final 2-1 in Madrid last week.
Madrid's players surrounded Vinčić after the game. Arda Guler, who scored two brilliant goals to spark the visitors' hopes of a famed "remontada" (comeback), was shown a red card for his vehement complaints.
"Everything was over with the red card," Madrid coach Álvaro Arbeloa said. "It's unbelievable. You cannot send off a player for this action. It's not fair in a match like that, and well, we are very, very upset, very angry, but also congratulations to Bayern Munich."
Bayern will play defending champions Paris Saint-Germain in the semi-finals. Also on Wednesday, Arsenal advanced past Sporting Lisbon to set up a last-four showdown against Atletico Madrid.
In Munich, Guler had opened the scoring after just 34 seconds thanks to a mistake from Bayern goalkeeper Manuel Neuer whose attempted pass went straight to the 21-year-old Turkey star, who fired the ball into the empty net from distance.
Bayern seemed unfazed and Aleksandar Pavlović equalised with a point-blank header from a Joshua Kimmich corner in the sixth minute and Bayern maintained their dominance as Real Madrid looked for breaks.
Guler beat Neuer with a brilliant free kick in the 29th but Bayern had legitimate complaints it should not have been awarded with Brahim Díaz going down after minimal contact from Konrad Laimer.
Bayern again seized control and it was no surprise when Harry Kane equalised in the 38th inside the right post after being left free by English compatriot Trent Alexander-Arnold.
Vinícius Júnior then struck the crossbar before setting up Kylian Mbappé to restore Madrid's lead on the night in the 42nd.
There were no more, however, until the late drama.
A 0-0 draw with Sporting Lisbon at London's Emirates Stadium saw Arsenal advance 1-0 on aggregate.
Kai Havertz's late winner in the first leg of the quarter-finals in Portugal last week proved to be decisive as Sporting failed to find a breakthrough in London.
Substitute Leandro Trossard came closest to winning it for Arsenal on the night by heading against the post late on. Geny Catamo had hit the woodwork for Sporting in the first half.
Four-times semi-finalists Arsenal have never won the European Cup and only once reached the final. They lost to eventual winners Paris Saint-Germain in the semis last season.
The result was the perfect way for the Premier League leaders to start a crucial week in which they also play title rivals Manchester City on Sunday.
"To be part of those (final) four teams, it's something very special," manager Mikel Arteta said. "It comes down to making the last step. We are making the steps that haven't been done in this club for 140 years, so players deserve credit for what they're doing."