O Celta começou melhor a partida e ficou mais perto de abrir o placar, perdendo duas boas chances, com Núñez - que acabou desarmado por Roberto Carlos - e o uruguaio Fabián Canobbio, que perdeu cara a cara com o goleiro Casillas.
Mas o Real Madrid retomou o controle do jogo após os primeiros 15min, com toques rápidos no meio-campo e boas jogadas de Robinho, cada vez melhor desde que o técnico Juan López Caro assumiu o time.
E o ex-jogador do Santos marcou aos 17min, ao receber na entrada da área em velocidade e tocar para o fundo das redes.
O Celta se animou em busca do empate e foi recompensado aos 39min, com o argentino Matías Lequi concluindo bem um bom passe de Ángel e igualando o placar.
O Real fez seu segundo só aos 12min da etapa final, numa jogada totalmente brasileira: Júlio Baptista iniciou um rápido contra-ataque com Robinho, que arrancou, passou por toda a defesa e chutou. No rebote, Cicinho fez o segundo do Real.
O Celta teve ainda outra boa chance dez minutos depois. Silva chutou e a bola bateu na trave e em Casillas, numa jogada em que surgiu a dúvida de se a bola entrara ou não - semelhante ao que aconteceu no primeiro turno, na partida vencida pelo Celta no Santiago Bernabéu. Os dois times ainda tiveram outras boas chances até o final, mas quem saiu com a vitória foi o Real, que segue sua recuperação no Espanhol.
Com a vitória, o Real divide a terceira colocação com o Osasuna, com 39 pontos. O Barcelona lidera, com 52.