Barcelona can add to its already commanding lead of the Spanish league after both Atletico Madrid and Valencia stumbled in the title race on Saturday.
Atletico Madrid was left eight points behind Barcelona when it conceded a late goal to draw 1-1 with Girona at home.
Valencia wasted a chance to pull level with Atletico when it squandered a one-goal lead at then bottom-side Las Palmas, losing 2-1 and finishing the match in the Canary Islands with nine men.
Barcelona visits Real Betis on Sunday aiming to remain undefeated in the league this season, and to pull even further away from the other 19 teams.
Atletico's formula of a goal from Antoine Griezmann plus an ironclad defense was undone by a Girona side that continues to impress in its first campaign in the top flight.
Diego Costa's headed pass set up Griezmann to put Atletico ahead in the 34th minute.
But Atletico failed to press for a second goal, and a defensive slip helped Girona level in the 73rd. Cristian "Portu" Portugues was free in the area to score when Bernardo Espinosa headed forward a poor clearance by substitute Jorge "Koke" Resurreccion.
"We had control of the game and knew that their chances depended on us making an error," Atletico defender Jose Gimenez said. "And that is what happened. We lost our concentration for a moment and they found their goal."
Girona's equalizer came after Atletico coach Diego Simeone had substituted Griezmann and Costa as the hosts sought to defend their slim advantage. Simeone said Costa came off due to unspecified pain that was bothering the striker.
Regarded as Spain's top defensive side, Atletico also conceded two late goals at home to lose 2-1 at Sevilla in the Copa del Rey earlier this week. It will now have to travel to Sevilla to overturn that defeat in their second-leg quarterfinal on Tuesday.
Simeone said his team had been unlucky.
"We were in charge until their goal arrived in a complicated situation," Simeone said. "There are episodes of the match that sometimes favor you, and sometimes go against you. I take away the sensation that we played well."
It was Portu's eighth goal of the season as Girona rose into eighth place.
"We are a pesky team and go to every ground looking to win, and we showed that again today," Portu said.
Girona played the second half with backup goalkeeper Gorka Iraizoz after starter Yassine Bounou asked to be substituted due to an injury late in the first half.
Valencia looked set to add to Las Palmas' misery after Santi Mina struck five minute into the game.
But Jonathan Calleri set up Jonathan Viera to level in the 20th before Calleri put Las Palmas ahead from the penalty spot in the 52nd.
Gabriel Paulista conceded the penalty for handling the ball and compounded the mistake by protesting until he was sent off with a second booking.
"The sending-off completely changed the match," Valencia coach Marcelino Garcia Toral said. "Going down to 10 men was a grave error on our part."
Fellow Valencia defender Ruben Vezo was sent off in the 87th after earning his second yellow card.
Las Palmas moved away from last place with its first victory under new coach Paco Jemez.
The best goal of the day was in Spain's second division, where Lugo goalkeeper Juan Carlos Martin scored from an exceptionally long strike.
Martin launched his lob from around 10 meters inside his own half. It caught counterpart Diego Marino off his line as he tried to run back.
The goal in the 80th sealed Lugo's 3-1 win over Sporting Gijon.
Villarreal overtook Real Madrid to go fourth after beating Levante 2-1 at home.
Villarreal has earned 13 of the last 15 available points and moved two points ahead of Madrid, which has two games in hand, in the fight for the final Champions League spot.
Samuel Castillejo stood out for Villarreal, twice hitting the post and setting up Manuel Trigueros to score a penalty in the 26th after he dribbled between two defenders and was tripped by goalkeeper Oier Olazabal.
Denis Cheryshev added a second goal early in the second half. He was substituted shortly after when he failed to recover from a knock to his right leg when he clipped the goalpost while sliding to tap in Enes Unal's pass.
Roger Marti converted a penalty on the last kick of the match for Levante's goal.
Sevilla's 3-0 victory at Espanyol pulled it level on points with Madrid and ended a five-round winless streak.
Franco Vazquez, Pablo Sarabia and Luis Muriel scored for Sevilla.