Cristiano Ronaldo grabbed his 54th goal of the season as Real Madrid moved closer to the La Liga title with a 2-1 win at Barcelona that stretched their lead to seven points with just four games left.

Sami Khedira opened the scoring at Camp Nou for Real Madrid in the first half before substitute Alexis Sanchez levelled.

But Ronaldo’s 73rd-minute winner gave Madrid their first league win over the defending champions in four years and, barring a major stumble, ensured the title will return to the Santiago Bernabeu for the first time since 2008.

“We’ve played well as a unit and reacted well when we needed to and now we need to take it match by match to make sure we win the title,” said Madrid goalkeeper Iker Casillas.

For coach Jose Mourinho, it was his first win at Camp Nou with Madrid and only his second triumph in 11 attempts against the Catalans.

Mourinho named an unchanged Madrid side to that which lost 2-1 at Bayern Munich in the Champions League semi-final first leg on Tuesday.

For Barca, Pep Guardiola replaced Cesc Fabregas and Sanchez with Cristian Tello and Thiago Alcantara, while continuing to leave Gerard Pique on the bench.

Madrid had the first chance when Ronaldo powerfully headed a corner that Victor Valdes tipped over the bar on four minutes.

Two minutes later, Casillas had to be quick to block at the feet of Dani Alves at the other end.

Then, against the run of play, Real went ahead on 17 minutes when Khedira stabbed home from close range.

With that goal, the 108th of their league campaign, Madrid became the highest-scoring team in a single season in Spanish football history, beating the record previously held by the Madrid side of the 1989-90 season.

Tello tried his luck from distance and then Messi played in Xavi with a delightful ball from which the Spanish midfielder should have equalised.

The second period began Barca in attack and as the hour mark came and went, they had only two more wide efforts from Tello and lacked any cutting edge in attack.

Xavi went close from long-range on 68 minutes and then was immediately substituted for Sanchez as Guardiola looked to change things.

Within two minutes they were level as the Chilean substitute finished at the second attempt from close range after Casillas blocked a Tello drive set up by Iniesta’s clever, wrong-footing flick.

But Madrid’s reaction was instant, with Ronaldo rounding Valdes after running onto a Mesut Ozil pass and putting the leaders ahead again with his 42nd league goal of the season.

Barca were shell-shocked and it was Madrid, through Karim Benzema and Ronaldo, who came closer to adding to their tally in the dying moments.

Other results: S. Gijon vs R. Vallecano 2-1; Mallorca vs Zaragoza 1-0.

Leading standings

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.