Barcelona je od prve minute utakmice sa Villarrealom imala terensku inicijativu. U 12. minuti je Messi uputio udarac ka protivničkom golu, ali je golman Asenjo bez većih problema odbranio njegov udarac. Argentinac se u 27. minuti nakon solo prodora našao u prilici za udarac, no, odbrana Villarreala je uspjela blokirati i otkloniti opasnost. Dvije minute kasnije je Messi ponovo pokušao, a ovog puta je lopta završila iznad prečke gostujućeg gola.
Messijeva upornost se isplatila u 41. minuti utakmice kada je nakon asistencije Suareza savladao golmana Asenja i donio vodstvo Barceloni.
Samo dvije minute nakon vodstva Barce u novoj prilici se našao Suarez, koji je ipak bio neprecizan za nekoliko centimetara.
U sudijskoj nadoknadi prvog poluvremena Villarreal je mogao do izjednačenja, Vietto je šutirao iz šesnaesterca, a golman Barcelone Ter Stegen je sjajno odbranio.
Prvo poluvrijeme je završeno minimalnim, ali zasluženim vodstvom Barcelone protiv Villarreala.
U nastavku su nogometaši Villarreala uspjeli postići brzi gol za izjednačenje kada je u 48. minuti za 1:1 fenomenalno pogodio Trigueros.
No, gol gostiju nije utjecao na ekipu Barcelone, koja je ponovo povela dvije minute kasnije. Strijelac je bio Iniesta, koji je odbijenu loptu pospremio u mrežu Villarreala.
Barcelona je nastavila opsijedati gol Villarreala, što je rezultiralo trećim golom. Strijelac za 3:1 je bio Pique u 64. minuti nakon što je loptu ubačenu iz kornera glavom proslijedio u protivničku mrežu.
Priliku za novi gol Katalonaca propustio je Neymar u 71. minuti iz penala. Golman Asenjo je odbranio njegov udarac.
Suarez je udarcem s 45 metara u finišu utakmice pokušao postići gol, ali nije uspio. Barca je pobijedila Villarreal rezultatom 3:1.
Kup kralja, prva utakmica polufinala:
Barcelona - Villarreal 3:1