Tim tamu sempat unggul lewat gol Frenkie de Jong, kemudian dibalas oleh gol Samuel Chukwueze. Barcelona kembali unggul melalui gol Memphis Depay, dan gol ketiga dicetak lewat penalti Philippe Coutinho.
Kemenangan ini tetap membuat skuad asuhan Xavi duduk di peringkat ketujuh dengan perolehan 23 poin. Sementara itu, Villarreal berada di posisi 12 dengan 16 poin dari 14 pertandingan, demikian catatan laman resmi Liga Spanyol.
Barcelona nyaris membuka keunggulan ketika laga baru berjalan lima menit. Pemain muda Abdessamad Ezzaizouli menyundul bola di kotak penalti setelah menyambut sepak pojok Memphis Depay, tetapi upaya tersebut masih bisa ditepis Geronimo Rulli.
Tim tamu kembali mengancam pada menit ke-20. Depay mendapat umpan terobosan dari Frenkie de Jong di kotak penalti, dia kemudian melepaskan bola sepakan yang belum menemui sasaran.
Villarreal balik mengancam lewat tendangan percobaan Arnaut Danjuma pada menit ke-39. Namun, penempatan posisi Marc-Andre ter Stegen membuatnya masih bisa mementahkan bola.
Kedua tim gagal mencetak gol hingga turun minum. Babak pertama berakhir imbang 0-0.
Selepas jeda, Barcelona langsung memberikan kejutan lewat gol pada menit ke-48 lewat tap-in Frenke de Jong.
Gelandang asal Belanda itu menceploskan bola muntah yang mengarah kepadanya di depan gawang Villarreal, menyusul kegagalan Rulli menangkap bola. Barcelona unggul 1-0.
Meski unggul, Barca bermain kurang displin dan terus mendapatkan tekanan dari Villarreal.
Villarreal akhirnya menemukan gol balasan pada menit ke-76. Chukwueze bisa melepaskan diri Pique dan Araujo untuk menyambut umpan lambung Danjuma.
Pemain sayap asal Nigeria tersebut kemudian melepaskan tendangan first-time di kotak penalti yang menggetarkan jala Barcelona. Kedudukan menjadi imbang 1-1.
Barcelona mencetak gol kedua pada menit ke-88 lewat aksi individu Depay yang sukses melewati Albiol dan kiper Geronimo Rulli sebelum menyarangkan bola ke gawang tim tuan rumah. Barcelona unggul 2-1.
Jelang pertandingan berakhir, Barcelona mendapat hadiah penalti ketika Philippe Coutinho dijatuhkan Juan Foyth di kotak terlarang.
Coutinho, yang maju sebagai eksekutor penalti, sukses menjalankan tugasnya dengan sempurna. Skor 3-1 untuk Barcelona.
Tidak ada gol tambahan di sisa dua menit tambahan waktu. Barcelona menutup kemenangan dengan skor 3-1.
Susunan Pemain:
Villarreal (4-4-2): Geronimo Rulli; Alfonso Pedraza (65' Pervis Estupinan), Pau Torres, Raul Albiol, Juan Foyth; Moi Gomez, Dani Parejo, Etienne Capoue, Yeremi Pino (65' Samuel Chukwueze); Arnaut Danjuma, Manu Trigueros (84' Daniel Raba).
Barcelona (4-3-3): Marc-Andre ter Stegen; Ronald Araujo, Gerard Pique, Eric Garcia, Jordi Alba (71' Oscar Mingueza); Nicolas Gonzalez (81' Philippe Coutinho), Sergio Busquets, Frenkie de Jong; Abdessamad Ezzalzouli (66' Ousmane Dembele), Memphis Depay, Pablo Gaviria.