Barcelona, Apr 22: Cristiano Ronaldo's late goal dealt Barcelona its first loss in 55 home games and put Real Madrid on the cusp of breaking the Catalan giants' three-year hold on the Spanish league crown with a record-setting 2-1 win on Saturday.
Sami Khedira opened with Madrid's league-record 108th goal of the season and Ronaldo sealed the deserved victory with his own league-record 42nd goal moments after Alexis Sanchez leveled for Barcelona.
Madrid's 19th league game without a loss lifted it seven points clear of Barcelona at the top of the standings with just four rounds to go.
"This was a crucial step forward, now we have to finish it off," Madrid midfielder Xabi Alonso said. "We barely suffered. We controlled the game to perfection."
After managing only a single win in nine previous games against Barcelona since joining Madrid, coach Jose Mourinho finally guided his team to a long-coveted victory over its fierce rivals on their ground.
It was Madrid's first victory at Camp Nou since 2007 and Mourinho's first ever career win here in 10 visits with three different teams.
The game was hyped as a duel between Barcelona's Lionel Messi and Madrid's Ronaldo, but this time the Portugal forward came out on top and moved one goal ahead of his Argentine rival in their personal scoring duel to see who is the top all-time scorer in a single Spanish league season.
With the score suddenly even and the Camp Nou crowd roaring for a comeback, Ronaldo showed once again that Madrid is one of the best counterattacking sides in Europe when he used his pace to race free and his aim to beat goalkeeper Victor Valdes with little angle from the right flank to seal the win that practically wraps up the title race.
"Those of us who work with (Ronaldo) every day are not surprised at him coming through in the key moments," said Madrid assistant coach Aitor Karanka, who spoke in place of Mourinho. "For me, he is the best player in the world."
Despite needing only a draw, Mourinho still deployed a balanced starting 11 — the same that lost 1-0 at Bayern Munich in the Champions League semifinals midweek — with his sole defensive-minded concession of Fabio Coentrao getting the nod over Marcelo at right back.
Guardiola, however, made two changes to the side that fell 1-0 at Chelsea in the Champions League with young winger Cristian Tello and Thiago Alcantara starting in place of Alexis Sanchez and Cesc Fabregas.
But just like at Stamford Bridge, Barcelona was frustrated again and again in attack and proved porous in defense when in mattered.
"We played the game we wanted to play. We had our chances, but it is never easy against a team of this level," said Guardiola, who has to quickly pick his team up for the second leg of its semifinal against Chelsea on Tuesday.
"We're not going to retain the league title, and now we have to focus on the Champions League. It won't be simple, we have to find the way to attack Chelsea, and we have to try and forget today's game."
If Barcelona rebounds and Madrid can do likewise against Bayern Munich on Wednesday, the two will meet for a seventh clasico of the season in the European final.
Madrid's disciplined defense bottled up Messi's incursions through the middle and Barcelona's passing game by making Sergio Busquets cue its attack.
Madrid went ahead in the 18th after a pair of defensive errors by Barcelona. Goalkeeper Victor Valdes failed to hold on to a corner headed down by Karim Benzema and Carles Puyol was slow to clear, allowing the German midfielder Khedira to poke the ball across the goalline to silence the 99,252 fans.
It was Madrid's 108th goal of the season, breaking a league record the club had set with 107 goals in the 1989-90 season.
Xavi Hernandez, starting in a Barcelona record 32nd clasico, almost leveled for the hosts in the 27th but Casillas got just enough of a touch to send his shot wide.
Guardiola sent on Alexis in the 69th and one minute later the Chile striker tapped in a rebound of a shot by Adriano to give Barcelona some hope.
But Ronaldo quickly crushed any thoughts of a Barcelona fightback when he galloped behind the defense to latch onto Mesut Oezil's pass and fire by Valdes in the 73rd to put a fitting final touch to Madrid's stout performance with his career-best 54th goal in all competitions this season.
"It was a great game," said Ronaldo, who has scored in his last three games against Barcelona. "I want to thank my teammates because they played well and deserve all the praise."
Barcelona's last loss at home came in September 2010. This is the first time the European champion has had consecutive losses since May 2009.
Also, relegation-threatened Sporting Gijon beat nine-man Rayo Vallecano 2-1, while Zaragoza's already slim hopes of escaping the drop took a blow with a 1-0 loss at Mallorca.
Goalkeeper Gustavo Munua blocked Alvaro Negredo's late penalty try to secure a 1-1 draw for Levante at Sevilla.
On Sunday, it's: Granada vs. Getafe, Real Sociedad vs. Villarreal, Racing Santander vs. Athletic Bilbao, Atletico Madrid vs. Espanyol, and Valencia vs. Real Betis. Malaga is at Osasuna on Monday to close round 34.