Robinho scored two goals and Raul Gonzalez and Ruud van Nistelrooy added the others on Sunday to give Real Madrid a 4-3 victory over Mallorca in the Spanish league.
Fernando Varela scored twice and Daniel Guiza once for the visitors, who couldn't prevent Madrid from maintaining their perfect record in six league games at home this season.
Also, Villarreal moved into second place with a 3-2 win over Sevilla in which Guille Franco scored twice and substitute Matias Fernandez converted a late penalty.
Defending champions Madrid have 28 points, one more than Villarreal. FC Barcelona and Valencia follow with 24.
Madrid, which needed a second-half rally to beat Mallorca on the final day of last season and clinch the title, again found the visitors a tough opponent.
Robinho began and finished the 12th-minute move which brought the hosts their opening goal and their first in three matches. The Brazilian forward backheeled the ball to Marcelo, who then crossed for Robinho to head in.
Marcelo failed with a clearance two minutes later, allowing Varela to receive the ball, cut across goalkeeper Iker Casillas and equalize.
Robinho doubled his tally in the 17th after receiving Raul's pass, but Varela leveled again in the 37th with a dipping long-range shot.
Another mistake by Madrid's defense handed Mallorca the lead in the 58th minute when midfielder Mahamadou Diarra sent the ball into Guiza's path. The striker, called up for Spain's squad for the first time on Friday, curled the ball in from the edge of the area.
Mallorca's joy was short-lived as Robinho cut the ball across to Raul five minutes later and the striker scored his sixth goal of the season.
Van Nistelrooy got Madrid's winning goal in the 73rd by capitalizing on a through ball from Raul and sweeping home a shot which was also his sixth.
Franco set Villarreal on the way to their ninth win of the season when he headed home an inswinging free kick by Marcos Senna in the 31st minute.
Frederic Kanoute leveled from close range three minutes later.
In other games, it was: Espanyol 2, Athletic Bilbao 1; Almeria 0, Atletico Madrid 0; Real Betis 2, Zaragoza 1; Recreativo Huelva 1, Osasuna 0; Deportivo La Coruna 0, Racing Santander 1; Valladolid 1, Levante 0.