Real Madrid laid down a marker in the La Liga title race as they won 3-1 at Barcelona in the first Clasico of the season.
Fede Valverde gave Real the dream start with a fifth-minute strike, before Ansu Fati became the youngest ever scorer in this fixture just three minutes later from close range.
But Sergio Ramos converted a 63rd minute penalty that he won after VAR intervened, before Luka Modric rounded off a deserved victory in the final seconds of normal time with the calmest of finishes.
In an entertaining game, Thibaut Courtois was alert to deny Lionel Messi before half-time but Barca remain 10th and are six points behind Real with a game in hand.
After a nightmare week for Zinedine Zidane, Real started the clash in the best way possible.
Karim Benzema’s through-ball was perfect for Valverde, who took advantage of lackadaisical Barca defending and finished beyond Neto.
But that joy was short-lived as Barca sliced through the Real defence with their first attack.
Jordi Alba bent his run perfectly to beat the offside trap and carried the ball into the box, where he squared for Fati who had a simple finish.
Philippe Coutinho and Messi had already tried their luck from range when Messi saw Courtois produce a moment of magic after 24 minutes.
The Argentine used deft feet to beat Ramos in the box and fired in a shot to the near post with his right foot.
Courtois was alert and threw himself across the goal to push the ball away.
The game was being played at a frantic pace and Real went straight up the other end to create a chance of their own.
Benzema saw his low effort pushed away by Neto after Kroos had found him 15 yards out from goal.
It was Barca who looked most likely to take the lead after half-time.
Fati dragged a low shot just wide of Courtois’ right-hand post, before Coutinho failed to hit the target with a header at the back post – Fati again the creator for the hosts.
And they were made to pay for those misses on the hour-mark. Ramos theatrically threw himself to the floor in the box as Kroos’ free-kick drifted out for a goal-kick.
It looked to be a dive in real time, but replays showed Clement Lenglet had pulled his shirt.
After consulting VAR and the screen by the side of the pitch, referee Juan Martinez Munuera changed his decision and pointed to the spot.
Ramos made no mistake from the 12 yards.
Despite Barca pressing for an equaliser, it was Real who continued to create the better chances.
Toni Kroos saw a Neto double save keep him at bay, while Ramos met a deep cross with a fierce volley which was brilliantly kept out by the foot of the keeper.
Modric made sure of the three points with the calmest of finishes in the final minute of stoppage time.
Neto smothered the ball at Vinicius’ feet but it fell to sub Rodrygo, who squared it for Modric.
The Croat rounded Neto, before taking his time and finishing between two defenders guarding the line with the outside of his boot.
It was a deserved victory for Real, who put behind their difficulties against Cadiz and Shakhtar Donestk to produce a perfect away display.
Barca were bright in spells, but question marks will be asked over Ronald Koeman’s reluctance to make substitutes earlier.