Match ends, Atlético de Madrid 1, FC Bayern München 0.
Atletico Madrid 1-0 Bayern Munich
Saul Niguez's sublime solo goal put Atletico Madrid in control of their Champions League semi-final against German giants Bayern Munich.
Saul jinked past a clutch of Bayern defenders before curling into the corner, giving the home side a narrow first-leg lead to take to Germany.
Bayern dominated the second half, David Alaba hitting the bar from 35 yards and Arturo Vidal's strike forcing a save.
Fernando Torres poked against the post in a rare counter as Atletico held on.
The teams will meet at Bayern's Allianz Arena on Tuesday to decide who will meet Manchester City or Real Madrid in the final on 28 May.
Better call Saul
Atletico - for so many years in the shadow of illustrious neighbours Real Madrid - have never been crowned European champions, twice losing in the final of the continent's leading club competition.
Under coach Diego Simeone, Los Rojiblancos have emerged as serious challengers to Spain's regular duopoly of Barcelona and Real Madrid and have now put themselves in a decent position to create history by winning the Champions League.
With Bayern boasting a remarkable home record of only one defeat in 24 matches, the tie is far from over.
But Saul - a Spain Under-21 international who has cemented his place in the Atletico side this season - extended the Spanish title-chasing side's own excellent form at a raucous Vicente Calderon.
The 21-year-old midfielder picked up the ball about 35 yards from goal, dancing through flimsy challenges from Bayern trio Thiago Alcantara, Juan Bernat and Xabi Alonso, then keeping his composure to steer the ball into the bottom corner.
Atletico defence blunts Bayern attack
Much of Atletico's success under Simeone has been built on defensive resilience, with his organised side conceding just five goals in this season's Champions League.
Atletico had also kept clean sheets in their previous four La Liga games but faced Bayern - the competition's top scorers with 28 goals in 10 matches - without defensive lynchpin Diego Godin.
However, the injured Uruguay centre-back, 30, was barely missed as a typically determined Atletico display shut out Bayern.
Former Argentina midfielder Simeone slightly altered his side's defensive tactics in the first half, occasionally pressing Bayern higher up the pitch, before reverting to their deep and compact shape after the break.
The German side, who are one win away from a fourth consecutive Bundesliga title, totally dominated in the second half as Alaba and Vidal went closest to equalising.
Home keeper Jan Oblak also blocked Javi Martinez's close-range header in-between, helping Atletico secure a 14th clean sheet in 16 Champions League home matches.
Uno, dos, tres - third time unlucky for Pep?
Bayern coach Pep Guardiola's three-year reign ends in the summer when he moves to Manchester City, with the Spaniard admitting his time in Germany will be judged on his ability to win the Champions League.
His side have lost to Spanish opposition at the semi-final stage in each of the past two seasons, knocked out by Real Madrid in 2014 and Guardiola's former club Barcelona last year.
Now the Catalan coach must outwit Simeone next week to avoid a clean sweep of defeats by La Liga's big three.
Guardiola, on course to comfortably win the Bundesliga in each of his three seasons, may reflect on his decision to leave Germany forward Thomas Muller on the bench until the final quarter of the match.
Muller is their joint top scorer in the Champions League having scored eight goals in his 10 appearances this season.
With Guardiola's gameplan seemingly relying heavily on crosses into the Atletico box, the absence of the predatory Muller appeared even more strange.
Man of the match - Saul
Atletico Madrid manager Diego Simeone:
"The first half was very close to what we wanted. In the second half they were better and got in behind but we felt comfortable, we defended well.
"It was a great piece of individual skill with lots of creativity, Saul is developing well which is great for us.
"I think it's still an open tie, they will be playing at home next week with their fans behind them but we have the chance to get an away goal. It'll be a close game like today, we'll see who makes the most of their chances."
Atletico Madrid striker Fernando Torres:
"It was a fantastic night and I'm happy for all Atleticos. We've got the lead we wanted.
"We kept fighting, that's what we do. Bayern have a level that few other teams have but we kept on doing our thing."
Bayern Munich boss Pep Guardiola:
"Their goal is a brilliant goal, but it's our mistake. We kept standing off. I'm not happy with how we played.
"It was a good game overall, but we started badly. The goal was a consequence of our slow play."
Both teams continue the pursuit of their domestic league titles this weekend.
Second-placed Atletico, who are level on points with leaders Barcelona, host lowly Rayo Vallecano as they bid for a second La Liga title in three seasons.
Bundesliga champions-elect Bayern also play on Saturday when they host fifth-placed Borussia Monchengladbach.
Stats of the day
- Atletico have won 13 of their 17 home Champions League games under Diego Simeone, drawing three and losing one.
- Atletico have scored against 23 of the 25 teams they have faced this season in all competitions, only failing to score against Villarreal and PSV Eindhoven.
- Bayern Munich are winless in their past eight away games in the Champions League knockout stages, drawing four and losing four.
- Robert Lewandowski has failed to score in eight of his past nine Champions League games outside the Allianz Arena.
- Bayern defender David Alaba made his 50th appearance in the Champions league - more than any other Austrian player.
- 24Giménez de Vargas
- 3Filipe Luis
- 17ÑíguezBooked at 84minsSubstituted forParteyat 85'minutes
- 1Moyá Rumbo
- 1NeuerBooked at 82mins
- 8Javi Martínez
- 18BernatSubstituted forBenatiaat 77'minutesBooked at 82mins
- 11Douglas CostaBooked at 40mins
- 6Thiago AlcántaraSubstituted forMüllerat 70'minutes
- 23VidalBooked at 88mins
- 29ComanSubstituted forRibéryat 64'minutes
- Mark Clattenburg
- Shots on Target
Second Half ends, Atlético de Madrid 1, FC Bayern München 0.
Attempt saved. Arturo Vidal (FC Bayern München) right footed shot from outside the box is saved in the centre of the goal. Assisted by Thomas Müller with a headed pass.
Attempt saved. Medhi Benatia (FC Bayern München) header from the centre of the box is saved in the centre of the goal. Assisted by Franck Ribéry with a cross.
Attempt blocked. David Alaba (FC Bayern München) left footed shot from outside the box is blocked. Assisted by Philipp Lahm.
Attempt blocked. Douglas Costa (FC Bayern München) left footed shot from outside the box is blocked. Assisted by Philipp Lahm.
Attempt missed. Augusto Fernández (Atlético de Madrid) right footed shot from outside the box misses to the left following a corner.
Corner, Atlético de Madrid. Conceded by David Alaba.
Arturo Vidal (FC Bayern München) is shown the yellow card.
Arturo Vidal (FC Bayern München).
Juanfran (Atlético de Madrid) wins a free kick in the defensive half.
Attempt saved. Douglas Costa (FC Bayern München) left footed shot from long range on the right is saved in the top centre of the goal. Assisted by Philipp Lahm.
Substitution, Atlético de Madrid. Thomas Partey replaces Saúl Ñíguez because of an injury.
Saúl Ñíguez (Atlético de Madrid) is shown the yellow card.
Manuel Neuer (FC Bayern München) is shown the yellow card.
Medhi Benatia (FC Bayern München) is shown the yellow card.
Offside, Atlético de Madrid. Antoine Griezmann tries a through ball, but Fernando Torres is caught offside.
Attempt missed. David Alaba (FC Bayern München) left footed shot from outside the box is high and wide to the left. Assisted by Robert Lewandowski.
Substitution, FC Bayern München. Medhi Benatia replaces Juan Bernat.
Attempt saved. Koke (Atlético de Madrid) right footed shot from the centre of the box is saved in the bottom right corner.
Fernando Torres (Atlético de Madrid) hits the left post with a right footed shot from the centre of the box. Assisted by Antoine Griezmann following a fast break.
Attempt saved. Arturo Vidal (FC Bayern München) right footed shot from outside the box is saved in the bottom left corner. Assisted by Philipp Lahm.
Attempt blocked. Gabi (Atlético de Madrid) right footed shot from outside the box is blocked.
Corner, Atlético de Madrid. Conceded by Javi Martínez.
Corner, Atlético de Madrid. Conceded by Arturo Vidal.
Foul by Xabi Alonso (FC Bayern München).
Koke (Atlético de Madrid) wins a free kick on the right wing.
Attempt missed. Douglas Costa (FC Bayern München) left footed shot from the centre of the box is just a bit too high. Assisted by Philipp Lahm with a through ball.
Substitution, FC Bayern München. Thomas Müller replaces Thiago Alcántara.
Foul by Franck Ribéry (FC Bayern München).
Antoine Griezmann (Atlético de Madrid) wins a free kick in the defensive half.
Substitution, FC Bayern München. Franck Ribéry replaces Kingsley Coman.
Foul by Arturo Vidal (FC Bayern München).
Juanfran (Atlético de Madrid) wins a free kick in the defensive half.
Attempt saved. Robert Lewandowski (FC Bayern München) right footed shot from a difficult angle on the right is saved in the bottom left corner. Assisted by Arturo Vidal.
Foul by Robert Lewandowski (FC Bayern München).
Giménez (Atlético de Madrid) wins a free kick in the defensive half.
Corner, FC Bayern München. Conceded by Giménez.
Attempt blocked. Kingsley Coman (FC Bayern München) right footed shot from a difficult angle on the right is blocked. Assisted by Philipp Lahm.
Corner, FC Bayern München. Conceded by Saúl Ñíguez.