Real Madrid stayed on track for their first league title since 2003 on a dramatic night which saw all three of the top sides draw.
It looked as though the race for the Spanish title had taken a controversial twist when Barca led Espanyol 2-1 with the help of a Lionel Messi handball and Madrid trailed Real Zaragoza 2-1, but last-gasp goals in both games kept Madrid in control of their own destiny ahead of next weekend's final round of matches.
Messi, sometimes likened to Diego Maradona because of his genius with the ball at his feet, may be subjected to more unfortunate comparisons after using his arm to score in Barca's 2-2 draw with Espanyol.
Raul Tamudo had broken the deadlock for Espanyol with a fine goal after 25 minutes before the Argentine's dubious equaliser.
Messi then scored in more orthodox fashion to give Barca the lead after 57 minutes, before Tamudo levelled for Espanyol in the last minute.
Real Madrid started the evening as the only team with a chance of winning the title on the night, but after a thrilling match in Zaragoza they were left relieved to still be in pole position.
The home side struck the first blow on 32 minutes when Diego Milito scored from the penalty spot after Pablo Aimar had been brought down by Ivan Helguera.
Ruud van Nistelrooy scored for the seventh consecutive league game as he headed home Sergio Ramos' cross after 57 minutes, but Milito coolly finished off a flowing move six minutes later to restore Zaragoza's advantage.
Madrid laid siege to the Zaragoza goal in the closing stages but were frustrated as Cesar pulled off save after stunning save, until van Nistelrooy poked home from close range to secure a late point.
Sevilla could not break down Real Mallorca's resistance as they were held to a 0-0 draw, but remain two points behind Madrid and Barcelona and still an outside bet to claim the title.
Madrid tackle Mallorca next Sunday and will win the league if they take three points, while Barca and Sevilla will have to hope they slip-up as they tackle Gimnastic de Tarragona and Villarreal respectively.
NEXT WEEK WILL BE THE LAST GAME AND THIS IS THE SITUATION: