Julen Lopetegui’s charges missed the chance of going top of the standings after arch-rivals Barcelona also lost 2-1 to Leganes in a match played a little earlier.
Los Blancos were struggling to establish rhythm in the opening exchanges of the half, allowing the hosts to win loose balls in dangerous areas.
Andre Silva gave Sevilla a shock lead in the 17th minute by tucking home a shot from close range after he was played through following a mistake from Casemiro in midfield.
Silva got his brace four minutes later, making it 2-0 for the home side with another close range finish after Thibaut Courtois parried Jesus Navas’ strike into his path following a lightning quick counter-attack.
Wissam Ben Yedder made it 3-0 for Sevilla six minutes before halftime after beating the offside trap to go clear on goal and beat Courtois from close range.
Julen Lopetegui’s charges were attacking in numbers in the last five minutes of the first stanza and were vulnerable to counter-attacks, but they went into the break trailing 3-0.
Los Blancos had a goal disallowed eight minutes into the second stanza after Luka Modric broke into the penalty area and chipped Sevilla goalkeeper Tomáš Vaclik but the goal ruled was ruled for offside after consultation with the Video Assisant Referee (VAR).
The match swung from end to end after the hour-mark with the hosts taking full advantage of Madrid’s desperation in attack leaving gaps at the back.
The tempo of the match was beginning fizzle out with a quarter of an hour remaining as Sevilla were closing shop at the back.
Franco Vazquez almost made it 4-0 for the hosts six minutes before time with a glorious chance at close range, but he blasted his effort over the bar with only Courtois to beat.
Pablo Machin’s men were managing the game well towards the end as they kept Madrid at bay to clinch an emphatic 3-0 victory.