Real Madrid were the major beneficiaries from the weekend’s La Liga action, narrowing the gap behind Barcelona and Atletico Madrid to three points after their slender win at Espanyol and the top two’s goalless draw at the Vicente Calderon.

Barcelona remain top of La Liga on goal difference after their top-of-the-table clash with Atletico Madrid failed to live up to the hype and finished goalless. Tata Martino opted for an attacking trio of Pedro Rodriguez, Cesc Fabregas and Alexis Sanchez, with Lionel Messi and Neymar starting on the bench, while Diego Simeone was able to field a full-strength team.

The two sides cancelled each other out for most of the game, with Barca dominating possession and Atleti content to soak up the pressure and play a counter-attacking game. When Messi and Neymar did emerge in the second half, neither could change the game and chances were at a premium. Messi forced a rare save from Thibaut Courtois while Atletico’s best chances fell to Diego Costa and Arda Turan, but neither tested Victor Valdes.

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.

Real Madrid closed to within three points of leaders Barca and Atleti with a 1-0 victory over Espanyol at Cornella-El Prat. Defender Pepe headed the only goal of the game at the start of the second half as Madrid gained their eighth win in nine games since their last league loss, the 2-1 Clasico defeat in October. The margin should have been greater, with Cristiano Ronaldo – his mind on the Ballon d’Or, perhaps – guilty of spurning a hat-trick of openings, twice firing wide and seeing a third chance superbly saved by Kiko Casilla.

Athletic Bilbao tightened their grip on fourth place with a resounding 6-1 victory over Almeria at San Mames. Midfielder Mikel Rico opened the scoring after just six minutes and Ander Herrera doubled the lead four minutes later. Aymeric Laporte made it 3-0 just after the half-hour mark, but Helder Barbosa gave Francisco Javier Rodriguez’s side faint hope by scoring before half-time. A fourth from Aritz Aduriz put the Basques further ahead and a double from substitute Ibai Gomez completed the rout.

Villarreal ended Real Sociedad’srun of five consecutive victories with a resounding 5-1 thrashing at El Madrigal, leap-frogging their Basque opponents into fifth place in the process. Giovani Dos Santos and Ikechuwku Uche each scored twice and teenager Moi Gomez registered his first goal in La Liga to put the Yellow Submarine five goals ahead with less than an hour played. Imanol Agirretxe pulled one back but that was as good as it got for La Real as Marcelino Garcia’s men ran out convincing winners.

Elche were denied a first win since November as Daniel Carrico’s 89th-minute header rescued a 1-1 draw for Sevilla. Cristian Herrera’s 82nd-minute effort had looked set to earn the struggling home side three vital points, but Carrico’s late effort leaves Elche only two points above the relegation zone.

Brazilian forward Charles struck twice to hand Celta Vigo a valuable 2-1 win against Valencia at Los Balaidos. Los Che had enjoyed a revival since new coach Juan Antonio Pizzi took over in December, while the Galicians were looking move clear of the relegation zone. Valencia took the lead with a Dani Parejo goal after 23 minutes but Celta turned the game around, Charles netting twice, on 50 and 78 minutes to earn them three important points.

Granada halted their miserable run by thrashing lowly Real Valladolid 4-0 at Los Carmenes. The Andalusians had fallen to within four points of the drop zone after losing four of their last five games, but registered a valuable victory thanks to a brace from Jose Recio and goals from Jeison Murillo and Youssef El Arabi. The win was only Granada’s third at home this season and sees them up to ninth in La Liga, while the result leaves Valladolid in the bottom three.

Levante climbed into the top 10 after a hard-fought 1-0 home win over Malaga. David Barral headed the only goal of the game for Los Granotes from a corner in the 19th minute as Levante sealed a much-needed victory after six defeats in their previous seven La Liga outings. Barral managed to out-jump the Malaga defence to nod Andreas Ivanschitz’s corner past Willy Caballero at the far post. The result lifted Levante into 10th place while Malaga slipped to 14th.

Rayo Vallecano picked up a much-needed win away at neighbouring Getafe but remain in the relegation zone. Alberto Bueno scored the only goal of the game on 29 minutes in an even game that saw few clear-cut scoring opportunities for either side. Rayo stay 19th in the table, level on points with Valladolid and two behind Osasuna while Getafe, who are 10th, have now lost four consecutive league games.

Real Betis remained stranded at the foot of La Liga after losing 2-1 at home to Osasuna as both sides finished with 10 men. Roberto Torres fired Osasuna ahead in the second minute and Betis were put under further pressure seven minutes before the break when Nono was sent off for his second bookable offence after fouling Oriol Riera. The problems continued for Betis as a 57th-minute own goal from Jordi Figueras put Osasuna 2-0 up and it got even worse for Betis as Ruben Castro missed a penalty after a challenge by Andres Fernandez that saw the Osasuna goalkeeper sent off. Jorge Molina pulled a goal back ten minutes from time, but Betis are now six points from safety.