Atletico Madrid reached their second Champions League final in three years as they knocked out Bayern Munich on away goals despite losing the semifinal second leg 2-1 at the Allianz Arena.
Bayern had erased their first-leg deficit through Xabi Alonso in the first half, and both teams had penalties saved, but Antoine Griezmann's goal shortly after the break proved decisive as Atletico hung on to win with a 2-2 aggregate scoreline.
Pep Guardiola made three changes from Bayern's first-leg defeat in Madrid, bringing in the fit-again Jerome Boateng, Thomas Muller and Franck Ribery, with Thiago, Juan Bernat and Kingsley Coman losing their spots.
Atletico's stalwart defence limited scoring chances in the early stages, with Arturo Vidal only trying his luck from distance, while at the other end Manuel Neuer made two comfortable saves from Gabi's long shots.
Bayern nearly found a way through in the 20th minute when Muller got on the end of a long pass and laid it off for an on-rushing Robert Lewandowski, but Jan Oblak saved from point-blank range.
Minutes later, Oblak spilled a 30-yard shot from Ribery but was able to recover in time to prevent Lewandowski from putting in the rebound.
The breakthrough came in the 31st minute after Augusto Fernandez fouled David Alaba just outside the box, and Alonso scored from the free kick, his attempt taking a big deflection off of centre-back Jose Gimenez.
The Uruguayan defender was in the spotlight again three minutes later when he hauled down Javi Martinez during a corner kick, but Oblak was able to save the resulting penalty from Muller as well as Alonso's follow-up.
Tensions were high after those flashpoints and Ribery had to forcefully hold back an irate Diego Simeone from leaving the Atletico bench.
But despite creating few chances before the break, the Spanish club retook the lead on aggregate eight minutes into the second half.
As Atletico raced out on the counter-attack, Griezmann headed the ball down to Fernando Torres, who played the Frenchman through to run in free on goal and beat Neuer at his near post.
The away goal meant Bayern needed to score twice to go through, and the hosts maintained nearly all of the possession from that point forward.
Atletico held out until the 74th minute, when Vidal headed Alaba's cross back across goal for Lewandowski to nod in from close range for this ninth goal of the competition this season.
The visitors could have saved themselves from a nervy finish when Martinez conceded a penalty for bringing down Torres in the 83rd minute.
There was some question as to whether the foul was outside of the box, but it didn't matter as Neuer saved the former Liverpool man's penalty.
Given new life, Bayern pushed for a winner but Oblak and Atletico withstood the pressure to advance to the final in Milan, where they will face the winners of Wednesday's second semifinal between their local rivals Real Madrid and Manchester City, with that tie finely balanced after a goalless first leg at the Etihad.