Atletico Madrid and Real Madrid both had to settle for a share of the spoils after a typically tight and scrappy derby encounter.
Neither side was able to land a decisive blow at the Wanda Metropolitano, leaving both teams 10 points adrift of league leaders Barcelona.
Both Atletico and Madrid had opportunities to break the deadlock, but in the end a 0-0 draw was a fair result in the Spanish capital.
Here's how the players rated on Saturday night:
Atletico Madrid
Jan Oblak - 6/10
Oblak made three stops in total, but in truth, he would have been disappointed had any of Madrid's efforts beaten him. He commanded his area well and kept his concentration even after long periods of inaction.
Juanfran - 7/10
Juanfran rolled back the years at times on Saturday night. A burst of speed saw him reach a loose ball ahead of Cristiano Ronaldo, while his positioning was terrific all night. He may not be the most adventurous of full-backs, but Juanfran at least fulfilled his defensive requirements.
Diego Godin - 7/10
This was a typically solid and resolute display from Godin, who relishes this type of match. The Uruguayan was rugged and strong in the tackle, denying Karim Benzema time and space in the final third.
Stefan Savic - 6/10
Savic has established himself as Diego Simeone's preferred partner for Diego Godin in the Atletico defence, and he was reliable again on Saturday. This was not a perfect showing from the ex-Manchester City man, but he deserves credit for his solidity.
Lucas Hernandez - 7/10
Lucas had some excellent moments on Saturday, particularly when carrying the ball forward in attack. He looked comfortable at left-back despite being a natural centre-half; Diego Simeone may now consider using him in this role going forward.
Gabi - 6/10
Gabi battle hard in the centre of the park and did not make things easy for his direct opponents. He could have done better in possession, but he always looked forward and tried to be positive.
Thomas Partey - 5/10
Partey has enjoyed a tremendous start to the season, but he was not at his best here. The midfielder struggled to get into the match and was taken off early in the second half.
Angel Correa - 5/10
Correa was wasteful, spurning two golden opportunities in either half. His movement was good and some of his link-up play was too, but his finishing let him down.
Koke - 6/10
Koke made more passes than any of his team-mates and was heavily involved in Atletico's attacking efforts. His distribution was sloppy at times, though, but he kept showing for the ball as the hosts pushed for a winner.
Saul Niguez - 6/10
Saul flitted in and out of the game and was unable to remain a threat throughout Saturday's encounter. He is a hugely gifted footballer but could have done more in a creative capacity.
Antoine Griezmann - 5/10
Griezmann was booed off by a section of the Atletico support, who were seemingly not impressed with his work rate. More concerning was the Frenchman's ability to affect the game in possession, with Griezmann rendered too easy to defend against.
Substitutes:
Yannick Carrasco - 6/10
Carrasco is a magnificent dribbler and showed as much at times, but his end product let him down as Atletico were unable to find a winning goal.
Kevin Gameiro - 6/10
Gameiro tried to use his pace to good effect in the closing stages, but he did not get on the ball as much as he would have liked.
Fernando Torres - 6/10
The substitute setup a fantastic chance for Correa, but otherwise had little time to try and change the game.
Real Madrid
Kiko Casilla - 6/10
Casilla did not have a single save to make against Atletico, but he did well to claim crosses and dominate his penalty area. Madrid's backup goalkeeper has shown enough to suggest he could challenge Keylor Navas for the No.1 jersey going forward.
Dani Carvajal - 7/10
Carvajal looked like he had never been away after returning from injury on Saturday. He got up and down the flank all night and contributed in both phases of the game, with Saul Niguez kept quiet by the Spain international.
Raphael Varane - 7/10
Quick across the ground, Varane allows Madrid to defend with a high line. He also used the ball well and made a couple of crucial interventions when covering for his colleagues.
Sergio Ramos - 6/10
This was a warrior-like performance from Ramos, who kept Antoine Griezmann quiet during his time on the pitch. He was taken off at half-time after appearing to break his nose when challenging for a header.
Marcelo - 5/10
Marcelo was at fault for a massive Atletico chance early on, playing a sloppy square pass across his body which led to a huge opportunity for Angel Correa. The Brazilian took too many risks in deep areas of the pitch and could have done more when pushing forward.
Luka Modric - 6/10
Modric drove forward in possession well on a few occasions, but overall he was not able to exert the same sort of influence on the game we are used to. Produced some fine touches but was a little subdued for the most part.
Casemiro - 7/10
Arguably the game's standout player, Casemiro swept up in front of the backline and protected his defence adeptly. He also used the ball well, albeit while keeping his distribution simple.
Toni Kroos - 7/10
Kroos is an excellent passer and he showed as much here, intelligently switching the play and looking to pick out his forward players. He perhaps could have shown more drive late in the game, though.
Isco - 7/10
Isco produced some magical touches and took several opponents out of the game on a couple of occasions, but he was not quite able to have a decisive influence on proceedings. The Spaniard faded as time wore on and did not muster a single shot on goal.
Cristiano Ronaldo - 6/10
Ronaldo failed to get into the game for long periods and was guilty of taking too long to pull the trigger when a presentable opportunity fell his way. There is no denying the Portuguese's incredible talent, but he is yet to find his stride this season - he had seven shots on Saturday without scoring.
Karim Benzema - 5/10
Benzema has not looked himself so far this season, and his struggles continued here. The Frenchman made some good runs at times, but his touch and passing was a little sloppy and he did not get himself into scoring positions often enough.
Substitutes:
Nacho - 6/10
Nacho replaced Sergio Ramos at half-time and looked reasonably solid in the second half. His positioning was good, although some of his passing could have been sharper.
Marco Asensio - 6/10
Asensio probably should have been introduced earlier, but Zidane waited until the 76th minute to bring on the talented young Spaniard. He produced a couple of bright moments but did not have long enough to swing the game in Madrid's favour.