Guardiola chose to select youngster Cristian Tello ahead of established stars such as Cesc Fabregas and Alexis Sanchez and Barca were made to pay as Madrid for the most part stifled the ineffectual Catalan outfit.
Jose Mourinho’s team began well, with Ronaldo’s early header from a corner bringing a good save out of Victor Valdes, and the keeper needed to be on hand to stop a Karim Benzema effort shortly afterwards. However, the visitors took the lead on 17 minutes with their 108th goal of the season, a La Liga record, with Sami Khedira scrambling home from close range after Pepe’s header had been partially saved by Valdes.
Xavi Hernandez missed a great opportunity to level things 10 minutes later when the midfielder shot narrowly past the post after being played in by a superb ball from Lionel Messi, yet aside from that the Argentine international was virtually anonymous in a strangely subdued first half.
After the break Barca, as expected, continued to dominate possession but rarely threatened the Madrid goal, although Tello had a couple of decent chances when he blazed wildly over the bar and then shot wide. Nonetheless, the hosts did draw level on 70 minutes through substitute Alexis Sanchez, the Chilean having been on the pitch barely one minute when he bundled the ball home after Tello’s shot had been saved and the ball played back into the box.
But Madrid were not to be denied in their bid to go seven points clear at the top and Cristiano Ronaldo got the decisive goal just three minutes later, Mesut Ozil’s pass setting the Portuguese free down the right to clip the ball past the onrushing Valdes to silence the Camp Nou.
Guardiola threw Fabregas into the fray for the final 10 minutes but it was to prove a futile gesture and Los Blancos could even have added to their lead in the last minute when Ronaldo fired narrowly wide.
Despite there still being four league games of the season remaining the Barca boss said he congratulated Madrid on winning the title but conceded he may have erred in his team selection.
“At best I could have got it wrong,” confessed Guardiola, “but I congratulate Madrid on their victory and their title. I thought we controlled their counter-attacks well but we must now forget about this and concentrate on Tuesday’s Champions League game against Chelsea.”
Real Madrid captain Iker Casillas said his teammates did not think they were already champions despite needing just six points from the next 12 available.
“We have taken a giant step but there are still a few games left,” warned Casillas. “We are not going to think we have won the league even though we are seven points clear.
“It wasn’t easy tonight,” he continued. “It is very difficult to beat Barca at home but we had that extra effectiveness and were organised when we went on the attack, so we did very well.”
Barcelona 1-2 Real Madrid
Scorers: Alexis Sanchez 70 (BAR), Khedira 17, Ronaldo 73 (RM)
Barcelona: Valdes; Puyol, Mascherano, Adriano (Pedro 73); Busquets, Xavi (Alexis Sanchez 69), Thiago, Iniesta; Alves, Messi, Tello (Fabregas 81)
Real Madrid: Casillas; Arbeloa, Pepe, Ramos, Coentrao; Khedira, Xabi Alonso; Di Mar