Barcelona liegt damit nur noch acht Punkte vor dem Tabellenzweiten Atletico Madrid, der gegen Girona einen 2:0-Heimsieg feierte. Beide Teams treffen am Samstag im Camp Nou aufeinander.
Barcelona ging programmgemäß durch Philippe Coutinho (12.) und Malcolm (16.) mit 2:0 in Führung, kurz danach traf Coutinho die Stange. Dann aber wurde Villarreal stärker und Barca in der Defensive immer wackeliger - die Folge waren die Treffer für die Gastgeber durch Samuel Chukwueze (23.), Karl Toko Ekambi (50.) nach einem bösen Patzer von Barca-Schlussmann Marc-André ter Stegen, Vicente Iborra (62.) und Carlos Bacca (80.).
Als das Match schon zugunsten von Villarreal entschieden schien, schlug der Meister noch einmal zu. Der in der 60. Minute eingewechselte Lionel Messi versenkte in der 90. Minute einen Freistoß, Luis Suarez stellte in der 94. Minute auf 4:4. Villarreal hatte zu diesem Zeitpunkt nach dem Ausschluss von Alvaro Gonzalez (86.) nur noch zehn Spieler auf dem Platz.
Bei Barcelona waren im Hinblick auf das Duell mit Atletico zunächst einige Stammakteure geschont worden. Neben Messi wurde auch Ivan Rakitic nur eingetauscht (73.). Gerard Pique, ohne den die Abwehr einen überforderten Eindruck hinterließ, saß auf der Bank. Die Katalanen vermieden gerade noch die erste Niederlage nach 14 Pflichtspielen, verpassten aber den achten Sieg in Folge.
Keine Blöße gab sich hingegen Atletico. Tore von Diego Godin (76.) und Antoine Griezmann (94.) brachten gegen Girona die Entscheidung zugunsten des Hauptstadt-Clubs, der sechs der jüngsten sieben Partien gewonnen hat.