Real Madrid took a step towards their first Champions League final in 12 years by beating Bayern Munich 1-0 at the Bernabeu thanks to a first-half goal by Karim Benzema.
Carlo Ancelotti's side must still survive another 90 minutes against the European champions, but head to the semi-final second leg in Munich with the added advantage of not conceding an away goal.
The visitors dominated possession but were unable to break down a sturdy Madrid side, who looked far more dangerous than the Germans when they attacked, and Los Blancos will be frustrated that they were not able to add to Benzema's 19th minute tap-in, with Cristiano Ronaldo and Angel Di Maria spurning great chances.
However, Bayern thought they should have been awarded a penalty in injury time when Thomas Muller was brought down by Xabi Alonso.
Gareth Bale, who had been suffering from flu, began on the bench, while Ronaldo returned after four games out with a hamstring injury. Bayern's two most expensive players, Javi Martinez and Mario Gotze, were also substitutes.
The Bernabeu was rocking at the start for Real's fourth consecutive semi-final, but soon quietened down as Bayern took full control of the ball.
Guardiola's side enjoyed 85 per cent of possession in the opening 20 minutes, but Madrid managed just fine without the ball, limiting their opponents to a shot by Arjen Robben that was deflected wide, and a soft effort by Bastian Schweinsteiger which Iker Casillas saved comfortably.
Madrid had barely set foot in Bayern's area up until then but took the lead with their first attack. Bayern lost possession in Madrid's half and Ronaldo quickly released Fabio Coentrao down the left - and the defender pulled the ball across goal for Benzema to slam home from four yards out.
Di Maria tested Manuel Neuer a moment later, before Ronaldo squandered a glorious chance to double the lead. The Portuguese blazed over from inside the area when Benzema rolled the ball across to him from the left, one of few areas Bayern looked vulnerable in.
Madrid's next chance fell to Di Maria, who arrived at the far post to get on the end of an Isco cross, but shot well over the bar with the outside of his boot.
The Argentinian winger then frustrated the home crowd by trying to play in Ronaldo with a backheel, misplacing the pass. At the other end, Philipp Lahm hit the side-netting and Robben's shot was blocked by Alonso.
Ronaldo gave Bayern another fright at the start of the first half when he tried to beat Neuer from a tight angle at his far post after a poor pass by David Alaba but the goalkeeper palmed the shot away for a corner.
Robben was Bayern's most adventurous attacker. He attempted a cross into the box that was swatted away by Casillas, then marauded through midfield but failed to trouble the Madrid goalkeeper with a soft effort.
Ronaldo then attempted to catch Neuer off his guard from the edge of the area, but the goalkeeper parried.
With six minutes remaining, the German's opposite number Casillas made the only decisive intervention he needed to, repelling substitute Gotze's strike from inside the area.
Bale caused Bayern problems after replacing Ronaldo - who did not look fully recovered from his fitness problems - but sent his only chance into the side-netting.
Real were hanging on towards the end and survived Bayern's appeals when Muller went down in the area - but referee Howard Webb was unimpressed, meaning the Spanish giants head to the Allianz Arena next Tuesday with a lead.