Barcelona returned to the Santiago Bernabéu three days after knocking Real Madrid out of the Copa del Rey and in effect knocked them out of the league title race too. A single goal from Ivan Rakitic did for their biggest rivals and left Real 12 points behind with 12 games remaining. It also put Barcelona ahead 96-95 in clásicos across the history of this fixture – the first time the Catalans have led in 87 years and testament to their dominance in the last decade. This was their 11th win in the last 18 meetings in this stadium and their fourth consecutive win here in the league.

It was not as dramatic as the 3-2 or the 4-3, nor as overwhelming as the 6-2 or the 4-0, but it was yet another victory and sufficient to give Barcelona a 10-point lead over Atlético Madrid. As for Real, Ernesto Valverde refused to rule them out, but they are now a long way adrift. Three matches in three competitions across seven days were set to define their season: they have only the Champions League left and progressing against Ajax is no foregone conclusion on this evidence. Having suffered three consecutive home defeats for the first time in 15 years, a fourth would be even more costly.

Real Madrid 0-1 Barcelona: El Clásico – as it happened Read more

The move that led to the only goal here began with Toni Kroos in possession but as he ambled Sergio Busquets took the ball from him, and built. Lionel Messi, receiving deep, played it to Rakitic who found Sergi Roberto and set off on a run. The return pass into his path was as perfectly weighted as the shot, the Croat clipping it over Thibaut Courtois.

There was something telling in the smoothness of the strike. Although Gerard Piqué had made an excellent sliding block on Luka Modric minutes before, Barcelona had eased their way into the game and now eased their way into the lead. It would be wrong to suggest the match was easy – “very close”, Valverde called it; “even”, Santiago Solari said – but there was a sense that Barcelona would prevail, an assuredness about them that Madrid lack. When the goal came, Messi had already dinked just wide.

Quick guide Follow Guardian sport on social media Show Hide Twitter: follow us at @guardian_sport Facebook: like our football and sport pages Instagram: our favourite photos, films and stories YouTube: subscribe to our football and sport channels Photograph: Chesnot/Getty Images Europe

A Modric header went over and Vinícius Júnior’s shot flew out for a throw, while at the other end Rakitic’s ball just evaded Messi and Luis Suárez drew a save from Courtois. Sliding in, Messi could not reach the rebound. Sergio Ramos, though, could reach him, and twice he put Messi down. The first time he left out a sly leg, the second time he led with his forearm into Messi’s face. The half ended with Messi confronting him and showing the referee a bloody lip; the second began with the game drifting a little before springing back into life.

Isco was introduced with 15 minutes left, greeted as Madrid’s last hope. Before that, Kroos had departed and so had Gareth Bale – to whistles. “He tried,” Solari offered. They all did but it was not enough and when Madrid pushed they were exposed. With a little more precision Barcelona might have ended this match much sooner, with Ousmane Dembélé unable to take their best opportunity.

Vinícius was Madrid’s greatest source of ambition, hitting the body of Clément Lenglet. The match became: Madrid attack, Barcelona counter, and repeat, and it became more stretched. “We tried everything, but didn’t take chances,” Solari said, but Lenglet and Piqué stood firm to the last minute when Vinícius was denied and Ramos’s header was saved. In additional time, Philippe Coutinho and Messi might have scored too, but there were to be no more goals. One was enough.