Real Madrid have lost ground on Barcelona at the top of the Primera Division after Sevilla came from behind to win at the Ramon Sanchez-Pizjuan.
Los Merengues almost forged an early lead against the Andalusians when Gareth Bale brought a save out of Sergio Rico before Cristiano Ronaldo's shot was closed down by the home defence.
However, Rafael Benitez's men were perhaps unlucky not to edge in front moments later when full-back Nacho unleashed a fierce shot, which beat the dive of Rico, but struck the left post and flew across the goalmouth.
Real did open the scoring midway through the half as Sergio Ramos's scissor kick found the bottom left corner of the net, but the Spanish international was substituted later in the opening period after aggravating an existing should injury in the process.
After another Bale effort was comfortably stopped by Rico, Sevilla managed to get back on level terms as Real failed to clear from a set piece, which allowed Ciro Immobile to beat Kiko Casilla from a seemingly impossible angle.
The Italian, who fell out of favour with parent club Borussia Dortmund before joining Los Rojiblancos, nearly added a second when he met Benoit Tremoulinas's menacing cross, but could not divert the ball wide of the target.
Real started the second half strongly as Ronaldo teed up Toni Kroos, only for the German to drill a low shot past the post.
However, Sevilla managed to score a second just after the hour mark as Yevhen Konoplyanka tormented the away side's defence before delivering a low cross, which Ever Banega tucked into the net from close range.
With 20 minutes left, Real squandered a good chance to equalise when substitute James Rodriguez delivered a silde-rule pass for Bale and the Welsh international looked to have put his cross into a dangerous area, but with no Madrid player able to attack the delivery, Sevilla survived.
Instead, Unai Emery's men all-but sealed victory on 74 minutes as Mariano produced another tantalising ball into the Real area, with Fernando Llorente rising unmarked to score the hosts' third.
James well-struck shot in stoppage time pulled a goal back for Los Blancos, but it proved to be mere consolation as Madrid finish the night three points behind Barcelona.