Real Madrid needs just two more points to clinch the Spanish Liga title after Sunday's victory over Athletic Bilbao, in which the leaders were more pragmatic than brilliant, the dpa reported.
Real were hoping to celebrate their 31st Liga title on Sunday, but Villarreal's 1-0 win earlier in the evening at Betis leaves the whites needing two points from their last four games.
Bernd Schuster's team now have 75 points from 34 games, 10 points ahead of Villarreal.
As so often this season, Real did not play well Sunday but were razor-sharp in both penalty areas.
Their best player, once again, was goalkeeper Iker Casillas, who kept out a penalty and pulled off several other sharp saves.
The news of Villarreal's win slightly dampened the pre-match ambience of euphoria in the Estadio Bernabeu.
But there were cheers aplenty when little opportunist Javier Saviola - making a rare star for Real - shot the hosts ahead in the 14th minute with his left foot, after Bilbao keeper Armando had spilled a soft shot from Robinho.
In the 37th minute, Casillas saved a penalty from Joseba Garamendia, after Gabriel Heinze had fouled Fernando Llorente in the box.
Midtable Bilbao created more chances to equalize, only to be foiled time and again by Casillas.
In the 74th minute, Arjen Robben, who had only been on the field for three minutes, made it 2-0 by turning in a perfect centre from fellow substitute Gonzalo Higuain.
Three minutes later, Higuain added the third with a powerful, near-post drive.
"I'm very happy," Saviola told Canal Plus at the end, "because we are really close to achieving our objective now."
Indeed they are. A win Sunday at lowly Osasuna will be enough for the whites, who have been on top of the table since August.
Earlier Sunday, Villarreal worked hard to win at midtable Betis. Manuel Pellegrini's outfit gave a solid display, crowned by a spectacular goal from Marcos Senna.
In the 16th minute, Spain midfielder Senna spotted young Betis keeper Casto Espinosa off his line - and beat him with an audacious long shot from just over the halfway line.
Betis dominated the second half, and veteran Jose Mari Romero thrice came close to levelling.
But Villarreal managed to hold on, partly due to the efforts, ironically, of former Real keeper Diego Lopez.
Pellegrini's team are now four points ahead of third-place Barcelona, who put out a reserve-packed team Saturday at Deportivo Coruna - looking ahead to Tuesday's Champions League semi-final first-leg showdown against Manchester United - and were rewarded with a 2-0 defeat.
Barca have failed to win in their last five league games, their worst run since Frank Rijkaard took over in 2003.
Barca are six points ahead of fourth-placed Atletico Madrid, who could only draw 1-1 Sunday at lowly Getafe.
Jaime Gavilan gave Getafe an early lead, but Sergio Aguero - one of the stars of the Spanish season - levelled for Atletico. Ruben de la Red missed a late penalty for Getafe.
Two points and one place below Atletico are Racing Santander, 3-1 losers Sunday at Mallorca.
Santander, in turn, are one point ahead of sixth-placed Sevilla, who could only draw 0-0 Saturday in Murcia.
Deportivo Coruna are seventh after their defeat of Barca. Almeria are eighth, despite a late 1-0 defeat Sunday in Valladolid.
Espanyol remain ninth after a 1-1 draw against troubled Zaragoza, while Mallorca are 10th and Bilbao 11th.
Betis stay 12th despite the Villarreal defeat. In joint 13th place, above the relegation zone, are Getafe, Valladolid and Valencia.
Valencia showed that there is life after Ronald Koeman with a 3-0 thrashing Sunday of fellow strugglers Osasuna. New Valencia coach Voro included in his squad Santiago Canizares, David Albelda and Miguel Angel Angulo, the trio of veterans controversially marginalized by Koeman, who was sacked last week.
Indeed, Canizares played all match because of injury to Timo Hildebrand - and enjoyed a quiet game.
The Valencia-Osasuna match turned on an incident in the 18th minute. Osasuna keeper Ricardo Lopez was harshly judged to have pulled down Spain striker David Villa in the box. Ricardo was sent off, and Villa calmly made it 1-0 from the penalty spot.
Seven minutes into the second half, Juan Mata made it 2-0 for Valencia by shooting home a clever Villa free-kick.
Spain winger Joaquin Sanchez made it 3-0 eight minutes from time on a pass from man-of-the-match Villa.
Valladolid, meanwhile, were beating Almeria with an injury-time goal from Jonathan Sesma.
Osasuna and Recreativo Huelva are joint fifth from bottom on 40 points.
Huelva beat bottom team Levante 2-0, condemning the latter to relegation.
Third from bottom on 38 points are Zaragoza, in big trouble after a 1-1 draw at Espanyol.
Albert Riera gave Espanyol the lead on the hour, and Ricardo Oliveira salvaged a point for Zaragoza with a penalty six minutes from time, after Espanyol's Francisco Rufete had handled in the area.
Even so, the draw is a poor result for Zaragoza given their dire situation.
Second-from-bottom with just 30 points are Murcia, who will almost certainly go down with Levante, who have just 25 points.