A tense, chippy affair ended in a 2-1 win for Real Madrid, who stay perfect in LaLiga this season amid jeering for Vinicius Junior from Atletico's fans.
Goals from Rodrygo and Federico Valverde put Real Madrid ahead early, and a goal from Atletico's Mario Hermoso followed by a red card eight minutes later didn't do much to help the hosts' cause.
Here is ESPN's Alex Kirkland with reaction and analysis from Madrid.
1. Rodrygo, Valverde and Vinicius are Madrid's future
It's a process that began during last year's Champions League run and is now impossible to ignore. One or more of Rodrygo, Vinicius and Valverde have scored in each of Madrid's last seven games -- Rodrygo's opener made it three league games scoring in a row for him -- and together they sum up this fast, direct, clinical Madrid team.
Veterans like Luka Modric and Toni Kroos are still very much present -- both were excellent against Atletico -- and of course Karim Benzema will come back into the team when he returns from injury. But this was a night that was all about Madrid's vibrant, irrepressible front three.
After a positive start from Atletico, it was Rodrygo who opened the scoring, firing Aurelien Tchouameni's floated pass beyond Jan Oblak, and when Vinicius' low shot hit the post and rebounded across goal, Valverde was there to make it 2-0 and effectively end the contest, despite Atletico's late fightback. Amid all the noise of a frantic Madrid derby, those two moments of quality made the difference.
2. Appalling racist chants demand action from Atletico
The footage of a group of Atletico Madrid fans singing a full-throated racist chant directed at Vinicius outside the Metropolitano stadium before this game was sickening, dispiriting and, unfortunately, nothing new.
Atletico's hardcore group of ultras, the Frente Atletico, have been guilty of such incidents on numerous occasions before -- both inside and outside the ground -- and the club have failed to take decisive action, despite receiving punishments from UEFA. Until Atletico do whatever is necessary to deal with this, including lifetime stadium bans if those responsible can be identified, it will continue to happen.
Vinicius' response to racist criticism of his goal celebrations this week was an eloquent, word-perfect statement on the issue and here he was able to respond on the pitch. When Rodrygo scored, Vinicius was first across to join him in what seemed like a very deliberate dance on the touchline, and he was then the catalyst for Real Madrid's second goal with a trademark run down the left.
After the match, Vinicius Junior posted a photo of his celebration with Rodrygo along with the caption, "Dance wherever you want." Keep dancing, Vini.
3. Griezmann's first start ends in defeat
It had become a running joke so far this season: By the 62nd, or the 63rd, or the 64th minute, here comes Antoine Griezmann -- the super-sub who coach Diego Simeone loves, but couldn't start -- as Atletico Madrid sought to avoid activating the appearance-based clause that would force them to pay Barcelona €40 million to make his loan deal permanent next summer.
This wasn't just any game though. This was the Madrid derby, and so Griezmann did start. And he started quite well. Playing alongside Joao Felix in attack, it was Griezmann who was arguably Atletico's liveliest player in the first half, often dropping deep to get involved in play.
When the time came for Simeone to make changes in the second half, with Atletico chasing the game, it was Griezmann who stayed on. Just don't be surprised to see him back on the bench next time.
Real Madrid: Thibaut Courtois 7; Dani Carvajal 7, Eder Militao 7, David Alaba 7, Ferland Mendy 7; Aurelien Tchouameni 8, Toni Kroos 8, Luka Modric 7; Fede Valverde 8, Vinicius Junior 7, Rodrygo Goes 8.
Subs: Antonio Rudiger 6, Eduardo Camavinga 6, Dani Ceballos 7, Marco Asensio 6
Atletico Madrid: Jan Oblak 5; Felipe 5, Axel Witsel 6, Reinildo Mandava 6; Marcos Llorente 6, Yannick Carrasco 6; Geoffrey Kondogbia 6, Rodrigo de Paul 6, Koke 6; Joao Felix 6, Antoine Griezmann 7.
Subs: Matheus Cunha 6, Alvaro Morata 6, Mario Hermoso 6, Angel Correa 7, Saul Niguez 6.
Best and worst performers
BEST: Fede Valverde, Real Madrid.
Another week, another goal. Keeps getting better and better. Arguably the most in-form midfielder in Spain right now.
WORST: Felipe, Atletico Madrid.
Always looks like the weakest link in Atletico's defence.
Highlights and notable moments
The Madrid derby was chippy from the opening whistle, and it didn't take long for tempers to flare up.
THE INTENSITY 📈📈📈 pic.twitter.com/EcFSFD9jcM— ESPN+ (@ESPNPlus) September 18, 2022
But Rodrygo kept his cool and found the opening goal from a beautiful one-time strike after a perfectly weighted ball from Aurelien Tchouameni.
He proceeded to celebrate by dancing with Vinicius Junior, who over the past week has had to put up with disgusting racist attacks over his own dance celebrations.
RODRYGO SCORES AN ABSOLUTE BEAUTY AND DANCES WITH VINICIUS 🤩🕺 pic.twitter.com/aekxsvMsZd— ESPN FC (@ESPNFC) September 18, 2022
Real Madrid kept rolling after that, and Federico Valverde doubled their lead.
Atletico's Mario Hermoso later pulled one back, but it only did so much as Hermoso earned a second yellow card not long after.
Mario Hermoso's 83rd minute goal makes it Atletico Madrid 1, Real Madrid 2
Hermoso pulls one back for Atletico in the Madrid derby.
After the match: What the players and managers said
Real Madrid manager Carlo Ancelotti on being too conservative after the two-goal lead: "Yes. I agree with that. In the first half we played out well from the back, twice we started with [goalkeeper] Thibaut [Courtois] and scored two goals. We were comfortable in possession. In the second half we lost the idea to hurt them. In the end we suffered, we controlled the game but at the end we suffered. Atletico pushed and caused us problems."
Atletico Madrid manager Diego Simeone: "I can't criticise the players. There are always mistakes, but they gave everything. Madrid have a really good direct style. Their transitions from defence to attack are fast and they're extraordinarily clinical. I like it. They're organised in defence, they counterattack, they take their chances. It's a great job by the coach. They have players who are good on the ball and they also work defensively. Valverde and Vinicius, with the talent of Kroos and Modric. But I think we were always in the game."
Real Madrid defender Dani Carvajal: "We're very happy. We came here to win. I think we played a really good first half, especially the first 30 minutes, we took our two chances. In the second half we didn't have as much of the ball to hurt them. We were comfortable at 0-2. It got more complicated at the end but they're three points."
Atletico Madrid goalkeeper: Jan Oblak: "It leaves a bad taste. We've lost the derby, we've lost a very important game. I don't think we were so bad, we didn't deserve the defeat, but that's football, they took their chances and we didn't. The feeling is always bad when you lose. We're all sad."
Key stats (provided by ESPN Stats & Information)
Antoine Griezmann made his first start of the season for Atlético Madrid. Prior to that, Griezmann had come off the bench in each of his first seven appearances this season across all competitions.
Rodrygo scored his third LaLiga goal this season. In the 2021-22 LaLiga season, Rodrygo only scored four goals.
Atletico Madrid has not come back to beat Real Madrid in any competition when trailing at any point since the 2018 UEFA Super Sup when they trailed 2-1 before winning 4-2 in extra time.
Real Madrid leads LaLiga with 18 points as only team in Europe's top five leagues to win all of its league games this season.
Real Madrid have opened the season with nine straight wins in all competitions for the first time since 1968-69 when they won a club-record 11 straight games to open the season, tied with 1961-62.
Atletico Madrid: Atletico will have less than seven days to prepare for their trip to Sevilla, taking on Julen Lopetegui's team on Saturday, Oct. 1 at 12:30 p.m. ET.
Real Madrid: Los Blancos will return to the comforts of the Bernabeu on Sunday, Oct. 2 when they host Osasuna at 3 p.m. ET.