Atletico Madrid's recent wobble in form continued as they fell to a first defeat in 12 league games after losing 2-0 at home to Levante.
The La Liga leaders have taken only five points from four games in February. Jose Luis Morales gave the visitors the lead on the half-hour mark with a deflected strike from just inside the area to deceive goalkeeper Jan Oblak.
Jorge de Frutos knocked into an empty net to score the second in added time after Oblak had ventured forward for a corner.
Atletico came out fighting in the second half as they sought to avoid a first league defeat since December but Levante goalkeeper Daniel Cardenas made a total of 10 saves including an outstanding late stop to deny substitute Thomas Lemar.
Luis Suarez hit the post with a vicious free-kick, Angel Correa saw a goal ruled out for a foul by Suarez and Joao Felix missed two gilt-edged chances for an Atletico side that had 28 shots on goal.
Real Madrid take advantage
Real Madrid narrowed the gap to their city rivals Atletico to three points with a largely forgettable 1-0 victory at Real Valladolid.
A game that rarely threatened to burst into life never did so and it was settled by Casemiro's second-half header.
It may have been a different story but for a superb double save by Thibaut Courtois early on, as the hosts started the game on the front foot.
However, that was as good as it got for the team second-bottom of LaLiga and after taking the lead, Madrid simply ran down the clock and cruised to three valuable points.
Zinedine Zidane's side remain second in the table but fully capitalised on leaders Atletico Madrid being beaten by Levante earlier on Saturday, though Diego Simeone's men have a game in hand. Meanwhile, while Barcelona will move six points behind Atletico if they beat Cadiz on Sunday.
In La Liga's early game, Elche gave their survival hopes a shot in the arm with a 1-0 win over Eibar. Dani Calvo's 33rd-minute goal settled a game that saw the winners move level on points down at the bottom with their opponents.
Bundesliga: Bayern beaten
Amin Younes scored a superb goal and helped create another as Eintracht Frankfurt beat Bundesliga leaders Bayern Munich 2-1 on Saturday to stay on course for a Champions League spot.
Former Germany international Younes, on loan from Napoli, helped set up Daichi Kamada for the first goal after 12 minutes as Frankfurt stretched their unbeaten run to 11 league games.
With Germany coach Joachim Low watching in the stands ahead of international matches in March, Younes, who won the last of five Germany caps in 2017, thundered in a shot from the edge of the box in the 31st minute after taking on the entire Bayern defence.
Bayern, who were missing several players, including Thomas Muller and Benjamin Pavard, remain on 49 points, with second-placed RB Leipzig - who have 44 - in action at Hertha Berlin on Sunday.
Fourth-placed Frankfurt are level on 42 points with VfL Wolfsburg, who are third and won 3-0 at Arminia Bielefeld on Friday.
Elsewhere, Borussia Monchengladbach's European aspirations suffered a big blow with a 2-1 loss at Mainz 05 after Kevin Stoeger's 86th-minute winner saw them drop to eighth place on 33.
Finally, Erling Haaland scored twice as Borussia Dortmund sent Schalke another step closer to relegation with a 4-0 win.
Jadon Sancho broke the deadlock in the 42nd minute before floating a cross in for Haaland to score with a spectacular scissor kick on the stroke of half time.
Schalke responded with a good start to the second half as Matthew Hoppe hit the post, but Raphel Guerreiro effectively decided the result with a goal on the hour-mark.
Haaland then rounded off proceedings, firing home Jude Bellingham's cross 11 minutes from time for his 17th goal in 17 Bundesliga appearances this season.