Real Madrid failed to claim first place in the Spanish league after teenager Marcos Garcia scored to give host Villarreal a 1-0 victory over the powerhouse Saturday.
Left winger Marcos steered the ball past goalkeeper Iker Casillas in the 68th minute after receiving a defense-splitting pass from midfielder Matias Fernandez at El Madrigal stadium.
Villarreal's victory, its first over its rival in 17 games, left Madrid in third place, a point behind leader FC Barcelona, which hosts Celta Vigo on Sunday.
Coach Fabio Capello's team, which managed only three shots during the game, has only scored five times in its last eight league matches.
Madrid again lacked Ronaldo, who is set to transfer to AC Milan on Monday. David Beckham, who has been left off the squad since announcing he will join the Los Angeles Galaxy in August, wasn't considered as he has a left knee injury.
Madrid supporters were involved in trouble in the final stages of the game, throwing bottles over the fence that divided them from the home fans.
In Saturday's other match, Pablo Ibanez's 76th-minute equalizer brought fifth-place Atletico Madrid a 1-1 draw with Racing Santander.
FC Barcelona leads the league with 39, while Sevilla and Real Madrid each have 38. Valencia and Atletico follow with 36.
Other 20th-round games Sunday are: Levante vs. Sevilla; Getafe vs. Osasuna; Zaragoza vs. Deportivo La Coruna; Mallorca vs. Recreativo Huelva; Real Sociedad vs. Athletic Bilbao; Gimnastic Tarragona vs. Espanyol; and Real Betis vs. Valencia.
In addition to Ronaldo and Beckham, Madrid was without injured captain Raul Gonzalez, and four more Brazilians _ left-backs Roberto Carlos and Marcelo, right-back Cicinho, and midfielder Emerson.
Villarreal dominated the first half and almost scored in the 30th minute when Fernandez fired high and wide after Madrid goalkeeper Casillas had made successive saves from Diego Forlan and Ruben "Cani" Gracia.
Villarreal's new Danish signing, striker Jon Dahl Tomasson, made his debut in the 85th minute, but Argentine playmaker Juan Roman Riquelme was again left out and watched from the stands. Riquelme hasn't played this year amid reported differences with Villarreal coach Manuel Pellegrini.
Marcos limped off in the final minute after getting stomped on the ankle by Madrid defender Fabio Cannavaro, but returned to play out the final moments of the game.
Atletico extended its unbeaten run to six games, although it struggled to create chances in an error-strewn encounter at Vicente Calderon Stadium.
Santander scored in the 74th minute when Nikola Zigic volleyed into the roof of the net from a hooked pass by Pedro Munitis to score his sixth goal of the season _ the Serbia striker's first since Nov. 26.
The visitors' joy was short-lived as Spain defender Pablo quickly equalized with a glancing header from an inswinging free kick by midfielder Jose Manuel Jurado.
Atletico didn't include new signing Brazilian center back Fabiano Eller from Copa Libertadores champion Internacional as the club doesn't regard him as match-fit.
Santander rose to 11th place with 26 points.