| Barcelona can no longer finish second and will have to pre-qualify for next season's Champions League competition.
Villarreal, who started the day four points clear of the struggling Catalan giants, beat relegation-battlers Recreativo Huelva 2-0 to cement second place after Barcelona's humbling 4-1 reverse against their arch-rivals, celebrating a second consecutive league title in front of the delirious Bernabeu faithful.
After sportingly forming a tunnel for the victorious champions, the visitors' night quickly deteriorated even further, conceding two rapid goals as the celebrations spilled over onto the pitch.
Captain Raúl slotted the opener with an impressive first-time right-foot strike from the edge of the area after just 11 minutes.
Arjen Robben rose unmarked to meet Guti's pin-point free-kick to double the home side's lead ten minutes later though the visitors staged somewhat of a mini-comeback to reach the interval without shipping further goals.
Eighteen minutes after the re-start, however, substitute Higuain inflicted further damage, beating Valdés with a neat short-range lob after a precise square cross by Diarra.
Valdés was beaten for a fourth time, from the penalty spot this time, as the returning Van Nistelrooy converted after Puyol was deemed to have handled.
Thierry Henry restored some pride three minutes from time with a trademark curling effort from the edge of the area that was scant consolation under the circumstances.
Elsewhere, Valencia beat fellow relegation strugglers Real Zaragoza 1-0 at the Mestalla to move up into 13th place, and now five points clear of the dreaded drop zone.
Wednesday, 7th May Getafe 4-2 Almeria Real Betis 1-1 Valladolid Recreativo Huelva 0-2 Villarreal Valencia 1-0 Real Zaragoza Racing Santander 0-3 Sevilla Murcia 1-2 Athletic Bilbao Mallorca 2-1 Osasuna Deportivo La Coruna 1-0 Levante Real Madrid 4-1 Barcelona
Liga table, points after 36 games 1 Real Madrid 81 2 Villarreal 71 3 Barcelona 64 4 Atletico Madrid 58* 5 Sevilla 58 6 Racing Santander 56 7 Real Mallorca 53 8 Deportivo La Coruna 52 9 Athletic Bilbao 49 10 Almeria 49 11 Espanyol 48* 12 Real Betis 46 13 Valencia 45 14 Getafe 45 15 Real Valladolid 43 16 Real Zaragoza 41 17 Recreativo Huelva 40 18 Osasuna 40 19 Murcia 30 20 Levante 26 *played 35
Thursday, 8th May Espanyol vs Atletico Madrid
Sunday, 11th May Almeria vs Recreativo Huelva Athletic Bilbao vs Racing Santander Atletico Madrid vs Deportivo La Coruna Barcelona vs Mallorca Levante vs Valencia Osasuna vs Murcia Real Betis vs Sevilla Real Zaragoza vs Real Madrid Valladolid vs Getafe Villarreal vs Espanyol
Sunday, 18th May Deportivo vs Villarreal Espanyol vs Almeria Getafe vs Real Betis Mallorca vs Zaragoza Murcia vs Barcelona Rac Santander vs Osasuna Real Madrid vs Levante Recreativo Huel vs Valladolid Sevilla vs Bilbao |