Sevilla, who came up short against Athletic Bilbao last week, almost beat Real Madrid but find themselves six points adrift of league leaders Atletico Madrid with only three games to go. Meanwhile, Real Madrid, despite being plagued with injuries all season, find themselves only two points behind their city rivals.
Julen Lopetegui's side were on the front foot from the off, with Fernando opening the scoring in the 22nd minute. However, they couldn't build on their lead as Real Madrid grew into the game.
Substitute Marco Asensio restored parity for Real Madrid with a lovely finish with his left foot from inside the box. Real Madrid poured forward in search of a winner, but it was Sevilla who went ahead when Ivan Rakitic converted a 78th-minute penalty.
Stung by the reverse, the reigning champions refused to throw in the towel. Their efforts were rewarded when Toni Kroos' long-range effort in injury time was deflected in by Eden Hazard, making it 2-2 on the night.
Los Blancos could have snatched all three points at the death, but Casemiro drilled his effort narrowly wide as Sevilla left Estadio Di Stefano with a point.
On that note, let's take a look at the player ratings from both teams.
Real Madrid Player Ratings
Thibaut Courtois - 6/10
After an impressive performance against Chelsea, Thibaut Courtois was quite helpless in the two goals Real Madrid conceded. Fernando unleashed a beautiful strike into the bottom corner and Rakitic gave the Belgian no chance with his penalty.
Marcelo Viera - 6/10
The Brazilian has been a pale shadow of his illustrious self this season, but it was one of his better performances on the night. The 32-year-old was a threat in the opposition half but was left exposed against Sevilla's Suso.
Nacho Fernandez - 6/10
It was a rather poor outing for Nacho. Lopetegui's decision to play without a target man seemed to work in favour of the visitors, as Real Madrid's centre-backs struggled to maintain their defensive line due to the constant running in between the lines from Papu Gomez, Ocampos and Suso.
Eder Militao - 6/10
Like Nacho, Eder Militao had an average game. And to make things worse, the 23-year-old gave away a penalty in the final quarter of the game, which could prove to be costly for Zinedine Zidane's men in the title race.
Alvaro Odriozola - 7/10
After starting on the bench against Chelsea, Alvaro Odriozola produced a decent performance for Real Madrid. The 25-year-old could've ended the game with an assist if not for an offside call.
Toni Kroos - 8/10
Real Madrid's star midfielder stepped up when his team needed him the most. His powerful strike, which deflected off Eden Hazard, ended up in the back of the net to give Real Madrid a share of the spoils. Kroos also bagged an assist for his team's first goal and pulled the strings from midfield throughout the 90.
Casemiro - 6/10
It was not one of the better games for Casemiro. The Brazilian lost quite a few duels in midfield and found it difficult to match his opponents' skill and tenacity in the middle of the park.
Luka Modric - 6/10
Luka Modric had a rather underwhelming outing in a big game. The Croatian played just one key pass all game, which could've led to a spectacular team goal if not for Vinicius Jr. squandering the opportunity.
Federico Valverde - 6/10
Valverde played as a right-winger at times for Real Madrid, a weird selection considering Zidane had Rodrygo, Asensio and Hazard on the bench. An extra midfielder in Valverde didn't help Real Madrid nullify Sevilla's skilful midfield. But he was an extra man in the box for Real Madrid and helped retain possession for his side regularly.
Karim Benzema - 8/10
It was an unlucky night for Real Madrid's top scorer, as Karim Benzema saw his towering header getting ruled out due to a marginal offside in the build-up. Nevertheless, the veteran Frenchman was at his industrious best and was always a threat in the Sevilla box.
Vinicius Junior - 6/10
For all his quality with and without the ball, Vinicius missed one of Real Madrid's best chances in the game. The 20-year-old was one of his team's brightest sparks, but he failed to convert from five yards what could've been the winner for Real Madrid.
Ratings of Real Madrid Substitutes
Marco Asensio - 8/10
The Spaniard replaced Modric in the 66th minute and scored the equaliser for Real Madrid merely seconds after coming on after Toni Kroos played him through on goal.
Eden Hazard - 7/10
After being the centre of criticism for his after-game antics at Stamford Bridge, Eden Hazard scored a rather fortuitous equaliser for Real Madrid, a goal he knew little about. The Belgian was lucky to find his name on the scoresheet as Kroos' effort deflected off his foot and found the back of the net.
Miguel Gutierrez - 5/10
The 19-year-old, who has made three appearances in his debut season for Real Madrid, replaced Marcelo in the 66th minute. The youngster did a good job, but his lack of experience made it easier for Sevilla to contain his runs and crosses.