La Liga’s top three all won at the weekend to leave the Spanish title race too close to call. Barcelona and Real Madrid enjoyed home wins against Malaga and Granada respectively while Atletico Madrid put four past Rayo Vallecano.

Barcelona were unaffected by the week’s political wrangling at Camp Nou as they registered a convincing 3-0 win over Malaga. Visiting goalkeeper Willy Caballero was the busiest man on the pitch, keeping Barca at bay for 40 minutes before defender Gerard Pique fired home with his second goal in as many games. Pedro Rodriguez doubled the Catalans’ lead 10 minutes after the break and Alexis Sanchez effectively ended the match with half an hour remaining. While Barca maintain their narrow lead, Malaga are now just two points clear of the drop zone.

Atletico Madrid maintained their title challenge with a 4-2 win at Rayo Vallecano. David Villa pounced on a Rayo error to open the scoring after just eight minutes, and Arda Turan doubled the lead after half an hour, soon after the home side’s Jonathan Viera saw his penalty saved. Viera made up for his miss from the spot by cutting the deficit towards the end of the first half, but Rayo saw all their good work undone as poor defending from a free-kick led to Turan’s second goal and Atletico’s third. A Saul Niguez own goal after 75 minutes made sure of the points for Diego Simeone’s side, with Joaquin Larrivey scoring the second Rayo consolation.

Second-half goals by Cristiano Ronaldo and Karim Benzema saw Real Madrid overcome a tough Granada side at the Bernabeu. It was not a vintage performance from Los Blancos, who were playing their seventh game in January, and they were frustrated for large parts of the game. Ronaldo finally broke the deadlock on 57 minutes, shimmying past two defenders inside the area before blasting into the bottom corner. Although the Ballon d’Or winner was unable to find a second goal, his flick on to Marcelo opened up the Granada defence, allowing Benzema to side-foot home the Brazilian’s low cross.

Athletic Bilbao gave a clear demonstration of their Champions League credentials as they crushed Basque rivals Osasuna at El Sadar. Aritz Aduriz scored twice, taking the match away from the hosts with Athletic’s second and third goals after Markel Susaeta’s opener had been cancelled out by Emiliano Armenteros. It got worse for Osasuna in the 76th-minute with the sending-off of Alejandro Arribas, who picked up a second yellow card for a foul on Susaeta. Athletic took full advantage and substitutes Ibai Gomez and Enrique Sola struck late on as the visitors strengthened their hold on fourth place.

Real Sociedad thumped Elche 4-0 to keep up their challenge for a European place and leave their opponents hovering two points above the danger zone. Elche defender Damian Suarez put through his own goal after just two minutes, but it was another starring performance from Antoine Griezmann that led La Real to victory. Griezmann scored twice, either side of a Carlos Vela strike, as the Basques closed the gap on Villarreal.  

Real Valladolid gave their Primera Division survival hopes a welcome boost with a 1-0 win over high-flying Villarreal at the Jose Zorrilla. Jesus Rueda’s first-half goal divided the two sides and saw the home side end a run of four matches without a win and strike blow to the visitors’ hopes of a Champions League place. Javier Aquino’s clumsy challenge on Carlos Pena four minutes before the interval led to a free-kick which Fausto Rossi played to Jesus Rueda, who powered a header into the bottom right corner. Villarreal spurned several chances to equalise, but Valladolid held on.

Levante came away from Sanchez Pizjuan with an unlikely 3-2 victory over Sevilla, who had dominated the game. The Valencians twice came from behind before grabbing the winner late on after their goalkeeper Keylor Navas produced an outstanding performance. Coke opened the scoring midway through the first half for Unai Emery’s side but David Barral levelled a few minutes later from the penalty spot.

The Andalusians attacked relentlessly in the second half but were continuously denied by Navas, until Ivan Rakitic restored their lead on 68 minutes. Loukas Vyntra pulled the Levante level, before Simao grabbed their winner with 15 minutes remaining. There was still time for more drama in injury time, with Nikos Karabelas seeing red for a late tackle on Sevilla’s Jairo, who was himself sent off a minute later for a shove on Barral.

Valencia and Espanyol shared the points in an entertaining 2-2 draw at Mestalla which saw all the goals scored in the first half. In a frantic opening, Jhon Cordoba put the visitors ahead inside three minutes, but Paco Alcacer levelled only four minutes later with his first goal of the season. A header from Jonas put Juan Antonio Pizzi’s side in front on 32 minutes, but Cordoba won a penalty just before the break, allowing Sergio Garcia to equalise. Both sides had opportunities in the second half, but the result left Espanyol the happier of the two sides

Almeria ended a run of four games without a win with a 1-0 home victory over Getafe. The win keeps Francisco Rodriguez’s side out of the danger zone while their opponents remain in mid-table after winning just once in their last seven Primera games. Jonathan Zongo’s second-half header was all that separated the two sides, the 21-year-old getting his head onto the end of a corner from on-loan Liverpool striker Suso. Almeria could have extended their lead but for a fine display from goalkeeper Miguel Moya, while Pedro Leon and Miguel Michel wasted chances for Getafe.

Celta Vigo ensured Gabriel Calderon’s first game as Real Betis coach ended in disappointment as they ran out 4-2 winners against the basement boys at Los Balaidos. The Argentinian was appointed after Betis sacked Juan Carlos Garrido after just six weeks in charge. His tenure had looked set to get off to a positive start when Ruben Castro gave Betis the lead in the 17th minute, but two goals from Fabian Orellana and one from Charles turned the match round before half-time. Substitute Nolito added a fourth for Celta 17 minutes from time and, although Ruben’s second made the scoreline more respectable, it was too little, too late.

Programming note: For viewers in the United States, La Liga games are shown exclusively on beIN SPORT, beIN SPORT Espanol and DishWorld. Even if you don’t have a TV subscription to beIN SPORT, you can access those channels via online streaming service DishWorld for $10/month. Read our review of DishWorld. And sign up for DishWorld via their website.