The visitors got off to a furious start on Wednesday, attacking at will and grabbing an early lead in the latest Clasico between the two titans of Spanish football.
But the hosts recovered and were the better side in the second half in front of 92,000-plus spectators at Barcelona's Camp Nou.
Facing his biggest match since taking charge of the Blancos in late October, Santiago Solari devised a plan that worked to perfection for the opening 20 minutes.
Real Madrid enjoyed free rein against a home squad that looked unsure of themselves from the starting whistle.
The Blancos front three of Lucas Vazquez, the speedy Vinicius Jr. and an in-form Karim Benzema not only put pressure, they neutralized Barcelona midfield playmakers Sergio Busquets, Ivan Rakitic and Arthur.
The visiting midfield trio of Marcos Llorente, Toni Kroos and Luka Modric were free to create.
In the 6th minute, Vinicius directed a pass to the far post that eluded Barça defender Jordi Alba. Benzema controlled the ball and passed to Vazquez waiting in the box and Real Madrid led 1-0.
The pitch remained tilted in the Blancos' favor until the 19th minute, when Brazilian forward Malcom - Barcelona's best player on the night - looked set to equalize before losing the 1v1 battle with Real Madrid keeper Keylor Navas.
A cross from Malcom set up a chance for Gerard Pique in the 27th minute and Rakitic got his head to the Brazilian's free kick five minutes later only to hit the post.