Barcelona dukker Jörgensen og Villarreal i målfest
Andreas Christensen udgik i pausen, hvor stillingen var 2-2, mens den danske U21-landsholdskeeper Filip Jörgensen vogtede buret for hjemmeholdet.
Kun 16-årige Lamine Lawal startede inde for kun anden gang for Barcelona og strålede med flere gode offensive indslag blandt andet i forbindelse med to scoringer.
Med sejren har Barcelona syv point i toppen af La Liga, mens Villarreal har tre point i den tungere ende.
Barcelona fik efter en livlig indledning en sand drømmestart med scoringer efter 12 og 15 minutter.
Midtbanespiller Gavi headede kun 16-årige Lamine Yamals indlæg i kassen til 1-0, og lidt derefter takkede en helt fri Frenkie de Jong for en løs bold fremprovokeret af en Villarreal-tackling ved at sparke udeholdet på 2-0.
Villarreal var dog på ingen måde hverken knockoutet eller for den sags skyld rystet.
Hjemmeholdet kørte ufortrødent på, og efter en lille halv time headede den argentinske verdensmester Juan Foyth efter et hjørnespark 1-2-reduceringen ind bag Marc-André ter Stegen, der derudover havde flere gode indgreb i første halvleg.
Fem minutter før pausen var tyskeren dog prisgivet, da Villarreal spillede Christensen og resten af defensiven helt tynd.
Juan Moreno fandt med en lækkerbisken Alfonso Pedraza, og han serverede den videre til Alexander Sørloth, som fra kort afstand nemt åbnede sin Villarreal-konto målmæssigt.
Kort inde i anden halvleg ville også Jörgensen lege med. Med et præcist udspark fandt han Pedraza i venstre side, og efter et godt løb blev Villarreal-kaptajnen for anden gang assistmager, da kantspilleren Alex Baena drejede bolden i nettet til 3-2.
Villarreal trak sig herefter ned for at forsvare, og det var ikke nogen super god idé. Barcelona pressede på, og efter små 70 minutter omsatte Ferrán Torres en løs bold til 3-3.
I sin kun fjerde kamp - den anden fra start - var Lamine Yamal særdeles fremtrædende, og efter 71 minutter tvang han efter en god aktion Jörgensen ud i en redning, som endte på stolpen og strøg videre til en blank Robert Lewandowski, og efter mere end 400 målløse ligaminutter kom polakken igen på tavlen.
Villarreal fejlede ved at holde igen efter 3-2-målet og havde i slutfasen ingen kvalificerede svar på Barcelonas comeback og endte derfor med nul point trods en fin indsats i meget af kampen.