Cristiano Ronaldo doveo je u vodstvo Real u 18. minuti iz slobodnog udarca, a samo tri minute kasnije Kaka je realizirao jedanaesetarc koji je prethodno izborio Gonzalo Higuain.
Marcos Senna je vratio Villarreal na samo gol minusa u 31. minuti također iz slobodnog udarca i s prednošću Reala 2-1 otišlo se na poluvrijeme.
U nastavku je Real ponovo bolje krenuo, pa je Higuain na asistenciju Ronalda donio prednost "kraljevskom klubu" 3-1 u 54. minuti. Nilmar je ponovo vratio Villarreal zabivši za 3-2 u 65. minuti, ali potom svojim drugim pogocima Higuain (na asistenciju Marcela) i Kaka (na asistenciju Ronalda) rješavaju svako pitanje neizvjesnosti.
Konačan rezultat postavio je Xabi Alonso u 87. minuti, realiziravši jedanaesterac koji je izborio Ronaldo.
Real se s osvojena boda ponovo približio vodećoj Barceloni na tek dva boda zaostatka, a spomenimo da je desni branič Reala Sergio Ramos protiv Villarreala odigrao svoju 200. utakmicu (u svim natjecanjima) u dresu "kraljevskog kluba".