Cristiano Ronaldo was sent off for kicking out at an opponent but Real Madrid still beat Cordoba 2-1 away on Saturday while Barcelona kept on their heels with a 6-0 romp at Elche.
Real remain top with 48 points, one more than Barca and also with a game in hand, but the loss of world player of the year Ronaldo through a ban could cause problems.
“I am sorry to everyone and especially to Edimar for my impulsive act in today’s game,” Ronaldo said on his Twitter account.
His great rival Lionel Messi and Neymar hit second-half braces for Barca after Gerard Pique celebrated his 200th La Liga appearance with a volley that clipped off Domingo Cisma and into the roof of the net 10 minutes before the break.
Neymar was upended in the box by Sergio Pelegrin and Messi scored the penalty after 55 minutes. Elche midfielder Faycal Fajr was dismissed for a second yellow card two minutes later.
Messi was the provider twice for Neymar who finished clinically after 69 and 72 minutes before the Argentine got his second two minutes from the end.
Messi has now equalled the record of doubles scored in La Liga after notching up his 77th to match the total set by Telmo Zarra, of Athletic Bilbao, in the 1940s and 1950s. It is the latest in a long line of records for the striker, who became the highest scorer in La Liga history earlier this season.
There was still time for Pedro to get the sixth from close range after being found by Neymar.
“After the first goal it was easier and we were able to control the game,” Barca coach Luis Enrique told reporters.
“This was a typical game during the season and they are not easy to win so I am happy with the way the team played over the 90 minutes.”
Real’s Ronaldo kicked out at defender Edimar with seven minutes to go and also appeared to throw a punch as the visitors struggled to create chances but they were gifted the win when a Gareth Bale free kick was handled by Fede Cartabia in the area.
Cartabia was also sent off for a second bookable offence and, with Ronaldo off the pitch, Bale fired home the winning penalty with two minutes left.
Nabil Ghilas gave Cordoba the lead from the penalty spot with two minutes played following a handball by Sergio Ramos.
Real, who won 22 straight games in all competitions late last year, lacked rhythm and intensity in their link-up play but Karim Benzema scrambled home an equaliser midway through the first half after Bale flicked on a corner.
Cordoba had looked more likely to win the game and Florin Andone hit the crossbar after 67 minutes with a lob over goalkeeper Iker Casillas.
Livewire Antoine Griezmann hit a double as third-placed champions Atletico Madrid beat Rayo Vallecano 3-1 at home and moved up to 44 points.
France forward Griezmann cut out a pass by defender Ze Castro and slotted past keeper Tono after 12 minutes. He then latched onto a flick-on from Mario Mandzukic and again produced a precise finish to double Atletico’s lead.
Rayo pulled a goal back through Roberto Trashorras before the break but Manucho diverted a corner into his own goal 10 minutes after the restart.
Griezmann was close to his hat-trick late on but his shot from the right of the penalty area came back off the post.
“It was important to pick up the points and continue to be strong at home,” Griezmann told reporters.
“I got some goals but the win is the important thing and we need to keep going now.
“We knew we were up against a tough rival that would have more possession than us but we scored on the counter.”
Elsewhere, a Luciano Vietto strike gave Villarreal a 1-0 victory over Levante and Xabi Prieto headed home in Real Sociedad’s 1-0 win over Eibar.