Clinical Real Madrid beat Barcelona in El Clasico to go top of La Liga and inflict their rivals' first league defeat of the season.
Karim Benzema scored Real's opener after Vinicius Jr's shot had been saved into his path by Marc-Andre ter Stegen.
Federico Valverde doubled the champions' lead before half-time with a lovely 20-yard drive.
Ferran Torres pulled one back from Robert Lewandowski's flick-on but Rodrygo settled it with a penalty.
The rivals started the day with seven wins and a draw from their opening eight games - but Real go three points clear now as they remain unbeaten.
This was a first away La Liga defeat in almost a year in charge of Barcelona for Xavi.
More to follow.
Line-ups
Real Madrid
Formation 4-3-3
13Lunin
2Carvajal3Militão4Alaba23Mendy
10Modric18Tchouaméni8Kroos
15Valverde9Benzema20Vinícius Júnior
13Lunin2CarvajalSubstituted forRüdigerat 88'minutes3Militão4Alaba23Mendy10ModricBooked at 75minsSubstituted forCamavingaat 78'minutes18Tchouaméni8Kroos15Valverde9BenzemaSubstituted forAsensioat 88'minutes20Vinícius JúniorBooked at 30minsSubstituted forRodrygoat 85'minutesSubstitutes
5Vallejo6Nacho7E Hazard11Asensio12Camavinga16Odriozola17Vázquez21Rodrygo22Rüdiger24Mariano26López Andúgar30CañizaresBarcelona
Formation 4-3-3
1ter Stegen
20Roberto23Koundé24García28Balde
21de Jong5Busquets8González
22Raphinha9Lewandowski7Dembélé
1ter Stegen20Roberto23Koundé24García28BaldeSubstituted forAlbaat 60'minutes21de Jong5BusquetsSubstituted forPáez Gaviraat 60'minutesBooked at 81mins8GonzálezSubstituted forKessieat 83'minutesBooked at 90mins22RaphinhaSubstituted forTorresat 60'minutes9Lewandowski7DembéléSubstituted forFati Vieiraat 73'minutesSubstitutes
3Piqué10Fati Vieira11Torres17Alonso18Alba19Kessie26Peña Sotorres30Páez Gavira32Torre36TenasReferee:José María Sánchez MartínezAttendance:62,876Live Text
Match ends, Real Madrid 3, Barcelona 1.
Second Half ends, Real Madrid 3, Barcelona 1.
Hand ball by Ansu Fati (Barcelona).
Franck Kessie (Barcelona) is shown the yellow card.
Goal! Real Madrid 3, Barcelona 1. Rodrygo (Real Madrid) converts the penalty with a right footed shot to the bottom right corner.
VAR Decision: Penalty Real Madrid.
Penalty conceded by Eric García (Barcelona) after a foul in the penalty area.
Penalty Real Madrid. Rodrygo draws a foul in the penalty area.
Substitution, Real Madrid. Marco Asensio replaces Karim Benzema.
Substitution, Real Madrid. Antonio Rüdiger replaces Daniel Carvajal.
Attempt missed. Ansu Fati (Barcelona) right footed shot from the centre of the box is close, but misses to the right.
Attempt blocked. Sergi Roberto (Barcelona) header from the centre of the box is blocked. Assisted by Frenkie de Jong.
Foul by Gavi (Barcelona).
Aurélien Tchouaméni (Real Madrid) wins a free kick in the defensive half.
Foul by Franck Kessie (Barcelona).
Eduardo Camavinga (Real Madrid) wins a free kick in the defensive half.
Substitution, Real Madrid. Rodrygo replaces Vinícius Júnior.
Goal! Real Madrid 2, Barcelona 1. Ferran Torres (Barcelona) left footed shot from the centre of the box to the centre of the goal. Assisted by Robert Lewandowski.
Attempt missed. Robert Lewandowski (Barcelona) left footed shot from the centre of the box misses to the right. Assisted by Ansu Fati.
Attempt blocked. Jordi Alba (Barcelona) left footed shot from outside the box is blocked. Assisted by Gavi.