Cristiano Ronaldo's brilliant last-minute backheel saved a point for Real Madrid in a thrilling 2-2 draw with Valencia, as the top three in Spain all stuttered this weekend.
Valencia twice led at the Bernabeu before Ronaldo stabbed the ball home with a deft backheel two minutes into five added on. Barcelona's draw and Atletico Madrid's defeat left the door wide open for Madrid but they struggled to push through it as the top three all dropped points on the same weekend for the first time this season.
Jeremy Mathieu put Valencia ahead moments before half-time, and only six minutes after Sergio Ramos levelled before the hour mark, Dani Parejo put Valencia back in front.
After Ronaldo levelled, both he and substitute Alvaro Morata had golden chances for a winner but missed the target. Defeat for Madrid would have left the Primera Division title in Barcelona's hands, but the draw leaves it too close to call.
Earlier, Atletico Madrid's bid to be crowned Primera Division champions for the first time since 1996 suffered a major blow as they were beaten 2-0 at mid-table Levante, a result that gave fresh hope to their title rivals.
Following Barca's surprise 2-2 home draw with Getafe on Saturday, leaders Atletico knew if they won their next two games against Levante and Malaga they would clinch the title ahead of their last-day meeting with the defending champions.
However, an early own goal from Filipe Luis saw Atletico fall behind at the Ciutat de Valencia and then David Barral added a decisive second for Levante midway through the second half.
Diego Simeone's men pushed hard to try and get something back in the closing stages but they could find no way through.
Ramon Azeez's late header claimed three much-needed points as 10-man Almeria moved out of the relegation zone following a 3-2 victory over Real Betis.
Oscar Diaz and Aleix Vidal were also on target in a topsy-turvy second half at Juegos Mediterraneos, in which Suso was sent off 10 minutes after the break as Francisco Rodriguez's side moved up to 16th in the Primera Division with two matches remaining.
Already relegated Betis scored a second-half equaliser through Braian Rodriguez and then Salva Sevilla handed them a temporary lead before the home side struck back.
Neither Sevilla nor Villarreal did enough to come out on top in a goalless draw at the Ramon Sanchez Pizjuan.
Marcelino's Villarreal side went into the game two places behind Europa League finalists Sevilla, and five points behind sixth-placed Real Sociedad, knowing they could claw back valuable ground in their own bid to snatch a European place.