Barcelona and Villarreal played out a thrilling seven-goal encounter at the Estadio de la Ceramica.
Barcelona raced to a quick 2-0 lead, as Gavi and Frenkie de Jong scored in the 12th and 15th minute respectively to put Barcelona in front.
Things went from smooth to bad, as Villarreal would score twice to level the scores before half-time.
Immediately after the restart, Alex Baena scored to put the hosts ahead for the first time in the game.
Xavi made a change in the 63rd minute, as Ferran Torres came on for Oriol Romeu. Torres lived up to his new nickname as The Shark, as he scored five minutes later to draw level.
Robert Lewandowski would then score his first goal of the season to make the tie 4-3.
Barcelona ended up 4-3 winners, in what was a breathtaking tie.