An incident-packed Clasico saw Barcelona edge Real Madrid by the odd goal in seven to close the gap at the top of La Liga to a point while Atletico won at Real Betis as the Spanish title race took another intriguing turn.

The season’s second Clasico delivered seven goals, three penalties, a red card and a Lionel Messi hat-trick as Barcelona left the Santiago Bernabeu with three points from a storming 4-3 victory over Real Madrid. The game started at a frantic pace that lasted the full 90 minutes. Andres Iniesta put Barca ahead after just five minutes, but two goals from the outstanding Karim Benzema’s turned the game around before Messi restored parity before the break.

Cristiano Ronaldo’s penalty, after the Portuguese had been brought down by Dani Alves, restored Madrid’s lead, though replays showed contact was outside the area before Ronaldo went dramatically to ground. Sergio Ramos was controversially adjudged to have brought down Neymar in the area and saw red for the 19th time in his career.

Messi fired in the spot-kick to level at 3-3 and Carlo Ancelotti caused some raised eyebrows by sacrificing Benzema for defender Raphael Varane. Barca were awarded their second penalty in the 83rd minute as Iniesta fell after attempting to battle his way between Daniel Carvajal and Xabi Alonso. Messi kept his cool among Los Blancos’ protests to fire what turned out to be the winner into the top right-hand corner from the spot.

Atletico Madrid capitalised on the second-half dismissal of Real Betis forward Braian Rodriguez to win 2-0 at the Benito Villamarin. The Uruguayan saw red in the 55th minute for his second bookable offence, and Atletico scored twice in the next 10 minutes through Gabi and Diego Costa as rock-bottom Real Betis were made to pay. Betis had frustrated Atletico for long periods in the first half but another defeat leaves them running out of time in their battle for Primera survival. Their win means Atleti are level on points with Real Madrid but have the lead on head-to-head results.

Athletic Bilbao tightened their grip on fourth place with a slender 1-0 victory over Getafe at San Mames. Markel Susaeta scored the only goal of the game in the 39th minute and although Athletic were by some distance the better side, they were unable to extend their advantage. The win sees Ernesto Valverde’s men move a step closer to Champions League qualification, while Getafe remain perilously close to the relegation zone in 17th spot.

Almeria climbed out of the bottom three with a 4-3 win over Real Sociedad in a thrilling encounter at the Juegos Mediterraneos. Carlos Vela gave La Real a 21st minute lead from the spot after handball by Angel Trujillo, but the lead was short-lived as Oscar Diaz stroked home an equaliser eight minutes later. Imanol Agirretxe restored the Basques’ advantage after the break, only for Jose Verza to convert a penalty after Carlos Martinez brought down Aleix Vidal in the 66th minute.

Almeria went ahead five minutes later, Verza dispatching his second spot-kick of the night after Vidal was fouled again, this time by Mikel Gonzalez. Not for the first time this season, Almeria’s defence looked ragged and Markel Bergara equalised five minutes from time. A draw looked to be on the cards until Hicham Khaloua, a late substitute, scored the winning goal in stoppage time on his debut, sending the home crowd into raptures.

The result ended a run of three successive defeats for Almeria, lifting them up to 16th, a point clear of the drop zone. La Real slip to sixth, a point behind Sevilla and nine adrift of Athletic.

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.

Sevilla won 2-1 away at Osasuna to move up to fifth in their challenge for a place in Europe once again. Jairo Samperio opened the scoring midway through the first half with a fine individual goal, and Carlos Bacca doubled the lead from the penalty spot just before half-time in controversial circumstances which saw Osasuna coach Javi Gracia ordered from his dugout for protesting the decision. Javier Acuna scored a fine goal for Osasuna in stoppage time, but it was only a consolation for the Navarrans, who slipped to 17th.

Javi Fuego netted a first-half double as Valencia returned to winning ways with a 2-1 win against Villarreal at Mestalla. Juan Antonio Pizzi’s side ended a three-game winless run, moving up two places into eighth as a result. Villarreal’s defeat saw them drop one place to seventh, with Giovani dos Santos’ late strike a mere consolation.

Espanyol and Levante fought out a goalless draw at Cornella-El Prat in a game that neither of these mid-table sides appeared capable of winning. After only sixty-two seconds Espanyol’s Simao Sabrosa swung in a cross that found Hector Moreno, whose bullet header was tipped away by Keylor Navas. Levante came back into it and Hector Rodas should have done better when presented with a chance from 12 yards but in truth a draw was a fair result.

Granada moved a step closer to preserving their top-flight status for another season with a 1-0 win over 10-man Elche at Los Carmenes. Yacine Brahimi’s goal midway through the second half settled the game for Granada, who made it three home victories in a row following successes over Villarreal and Real Betis. It could have been more comfortable for Granada but Fran Rico missed a penalty in the 73rd minute after Elche defender Cristian Sapunaru had been sent off for bringing down Youssef El Arabi.

Malaga were indebted to midfielder Ignacio Camacho who scored twice in the space of eight minutes to give Los Boquerones a 2-0 win at Celta Vigo, boosting Bernd Schuster’s side’s chances of survival. The Andalusians out-fought their opponents and even managed to successfully negotiate the final 35 minutes without conceding despite being reduced to 10 men after Duda was shown a straight red card for kicking out at Rafinha after failing to win a free-kick when he was brought down by the Barcelona loanee.

Strugglers Real Valladolid and Rayo Vallecano shared a 1-1 draw which did little to help either side in their fight to avoid relegation. Valladolid took an early lead through a Ze Castro own goal, but Alberto Bueno levelled matters with a goal against his former club before half-time. The result means Valladolid are still in the drop zone, three points worse off than their opponents and with just one win in their last eight matches.