Yeremy Pino membawa Villarreal lebih dahulu di babak kedua. Madrid kemudian membalas melalui gol penalti Karim Benzema, tetapi tim tuan rumah kembali unggul melalui penalti Gerard Moreno.
Los Blancos memperoleh 38 poin dari 16 pertandingan, yang sama dengan Barcelona tetapi unggul selisih gol.
Sementara itu Villarreal naik ke peringkat lima usai mengoleksi 27 poin.
Baca juga: Kalahkan Real Valladolid 2-0, Real Madrid puncaki klasemen sementara
Villarreal langsung mendapatkan peluang pada menit ke-5. Umpan silang Moreno disambut backheel Coquelin. Courtois tidak berkutit, tetapi bola masih membentur tiang.Baca juga: Kalahkan Real Valladolid 2-0, Real Madrid puncaki klasemen sementara
Madrid baru bisa membalas pada menit ke-14 lewat tendangan Benzema di tepi kotak penalti, tetapi bola masih melenceng dari gawang Villareal.
Selanjutnya, Villareal terus menekan Real Madrid hingga sulit mengembangkan permainan
Tim tuan rumah menciptakan lebih banyak peluang mencetak gol hingga babak pertama berakhir. Namun, skor tetap bertahan 0-0.
Villarreal langsung unggul di babak kedua menit ke-47. Berawal dari kesalahan Mendy, bola diterima Moreno yang lantas memberikan ke Pino sebelum melepaskan tendangan di sisi kiri kotak penalti hingga beberapa gol. Real Madrid tertinggal 0-1.
Baca juga: Ancelotti isyaratkan Madrid tak belanja pada bursa transfer Januari
Baca juga: Sociedad tutup tahun di tempat ketiga, Villarreal posisi ketujuh
Pada menit ke-58, Madrid mendapatkan hadiah penalti. Sepakan Benzema terbukti menyentuh lengan Foyth, VAR mengonfirmasi. Benzema lantas maju sebagai algojo dan sukses menyarangkan bola ke kanan bawah. Kedudukan menjadi 1-1.Baca juga: Ancelotti isyaratkan Madrid tak belanja pada bursa transfer Januari
Baca juga: Sociedad tutup tahun di tempat ketiga, Villarreal posisi ketujuh
Pada menit ke-60, Villarreal yang kini mendapat penalti setelah David Alaba melakukan handball. Moreno maju sebagai algojo dan mengirim sepakan ke sudut kiri bawah. Villarreal kembali unggul 2-1.
Ancelotti memasukkan beberapa pemain untuk mencoba mengubah permainan Madrid lebih agresif demi mencetak gol penyeimbang dan kemenangan.
Madrid terus mencoba di sisa pertandingan, tetapi Villarreal mempertahankan keunggulan dengan baik Skor 2-1 untuk kemenangan Villarreal.
Susunan Pemain:
Villareal (4-3-3): Pepe Reina, Raul Albiol, Alberto Moreno, Pau Torres, Foyth, Dani Parejo, Coquelin (Trigueros 89'), Chukwueze, Alex Baena, Yeremy Pino (Jose Morales 82'), Gerard Moreno (Danjuma 88')
Real Madrid (4-3-3): Courtois, Alaba, Ruediger, Militao, Ferland Mendy (Rodrygo 64'), Luka Modric (Camavinga 70'), Kroos, Valverde (Asensio 83'), Tchouameni (Vazquez 64') Benzema, Vinicius Junior
Baca juga: Liga Spanyol: Barcelona kunci kemenangan tipis atas Celta Vigo
Baca juga: Liga Spanyol: Barcelona kunci kemenangan tipis atas Celta Vigo