Nine-man Real Betis fell to a shock 2-0 home defeat by Cadiz on Sunday, leaving Manuel Pellegrini's side sixth in La Liga.
After Villarreal beat Real Madrid on Saturday they leapfrogged Betis, who could not go back ahead of Quique Setien's side as they stumbled in an Andalucian derby.
Betis playmaker Sergio Canales made his comeback after being given a reprieve from a four-game ban by court order, but it only lasted 38 minutes.
The Spaniard was sent off for pulling down Ruben Sobrino and stopping the Cadiz forward from running through on goal.
Cadiz took the lead from the penalty spot early in the second half through Ruben Alcaraz after Juan Miranda handled a free-kick.
The visitors netted their second before the hour mark when Theo Bongonda broke away and unselfishly teed up Chris Ramos to tap home his first goal for the club.
Betis were soon reduced to nine men on a miserable afternoon for the hosts as Aitor Ruibal twice swung his elbow at Fali and was dismissed.
Earlier Vedat Muriqi hit a brace, including a stoppage-time penalty, to rescue Real Mallorca a 3-3 draw at Real Valladolid.
Later Sunday Almeria welcome Valencia in a relegation battle, while third-placed Atletico Madrid visit neighbours Rayo Vallecano in a Madrid derby.
On Monday leaders Barcelona can move 15 points clear with a win against Girona.