Barcelona moved to within a whisker of a second straight La Liga crown when Lionel Messi, Bojan Krkic and Pedro earned a nervy 3-2 win at 10-man Sevilla on Saturday.
Real Madrid kept the gap to one point with one match left when a late flurry of goals gave them a 5-1 victory at home to Athletic Bilbao, who also had a player sent off, but Barca now only need a win at home to lowly Real Valladolid next weekend to make sure of the title.
Barca beat arch rivals Real in both this season's "Clasicos" and have lost only once all season, scoring 94 goals and conceding 24.
They extended their record points tally to 96 from 37 matches with Real in second on 95 and Valencia, who lost 2-0 at Villarreal but are already assured of a Champions League spot in third, trailing on 68.
Sevilla are fourth on 60 and Real Mallorca fifth on 59 after their 1-0 defeat at Deportivo Coruna.
Real's final match is at Malaga, who are one place below Valladolid after a 2-1 reverse at sixth-placed Getafe and also fighting to avoid the drop.
"We are not going to lose hope," Real defender Sergio Ramos, who netted his side's third goal, told reporters.
"We have to carry on doing our jobs and if Barca win the league with 99 points they'll have to be congratulated."