Julio Baptista struck a stunning half-volley to earn Real Madrid a sensational win at Barcelona and give the Spanish champions a seven-point lead at the top of the Primera Liga table heading into the winter break.
The former Arsenal forward fired home against the run of play to stun the Catalans and heap further pressure on Barcelona coach Frank Rijkaard.
Both sides opted for an attack-minded 4-3-3 formation, although there was no place in the Real line-up for Guti, who had shaken off an injury to be fit for the showdown.
But Ronaldinho and Deco, who had both been expected to start on the bench, were named in the Barca side - missing the injured Lionel Messi - by Rijkaard.
Following a frenetic opening ten minutes, the first chance fell to Real Madrid, but Pepe's shot was easily saved by Victor Valdes after Wesley Sneijder's free-kick.
But the game was being played amid a typical derby atmosphere and the tackles were flying in thick and fast.
Consequently, chances were few and far between and Barcelona had to wait until the 33rd minute for their first real opportunity on goal.
Andres Iniesta crossed for Ronaldinho, but the Brazilian saw his far post effort saved at full-stretch by Iker Casillas.
A minute earlier, Xavi had tested the Spain goalkeeper with a long-range effort and it appeared that Barcelona were beginning to take control of the game.
But Real went ahead ten minutes before the break. Baptista played a fantastic one-two with Ruud van Nistelrooy and when the Dutchman returned the ball to him just inside the area, the Brazilian angled an exquisite half-volley past Valdes and into the top corner to put the visitors ahead.
A minute before the break, Real could then have gone two up. Casillas found Baptista and the Brazilian led a quick breakaway, feeding compatriot Robinho, but the former Santos forward saw his long-range shot well saved by Valdes.
Barcelona sought to hit back after the break, but Iniesta saw his shot easily gathered by Casillas on 53 minutes.
At the other end, Baptista and Robinho looked to combine again two minutes later, but the former's pass was too short for his colleague and Barca cleared the danger.
Real should then have doubled their lead on the hour mark, but Van Nistelrooy opted to shoot instead of squaring for the better-placed Raul and sent his angled effort just wide.
Sneijder then sent a long-range effort just wide as Real continued to look more dangerous than their opponents.
At the other end, Ronaldinho tried his luck from outside the area, but saw his shot fly over the crossbar.
A minute later, Sneijder fired straight at Valdes from a similar distance but Barcelona would dominate the closing stages.
Substitute Bojan Krkic forced Casillas into fine save on 83 minutes and from the resulting corner, Yaya Toure volleyed just wide on the turn.
Samuel Eto'o then saw his shot deflected just wide by Pepe as the locals pressed for a late equaliser.
But Real hung on through three minutes of injury-time to claim a vital win and move seven points clear of their bitter rivals after 17 rounds of the Primera Liga.