A Real Madrid uralta ugyan az első félidőt, a szünet után viszont a Barcelona olyan sebességre kapcsolt, amit Cristiano Ronaldóék nem tudtak tartani. Suérez lőtte az első gólt, majd Carvajal kiállítása után Messi is betalált (büntetőből), végül Aleix Vidal állította be a végeredményt.
Több szempontból is kifejezetten fontos volt a Real Madrid számára a szokatlan időpontban, délután 1-kor kezdődő El Clásico, hiszen egyrészt 2014 óta nem tudták hazai pályán legyőzni a Barcelonát a bajnokságban, másrészt – ugyan eggyel kevesebb meccset játszva – a Barcelona mögött tizenegy pontos hátrányban érkeztek a bajnokira.
Talán épp a hatalmas tét miatt váratlant húzott Zinedine Zidane, aki elhagyva a megszokott 4-3-3-as felállást 4-4-2-be rendezett kezdőcsapatot nevezett, és egy támadóbb felfogású középpályás helyett Mateo Kovacicnak szavazott bizalmat.
A konzervatívabb kezdő nem látszott meg a Realon, azonnal támadásba kezdtek, a második percben egy szöglet után Cristiano Ronaldo már gólt is szerzett, de lesen volt a fejes előtt, így maradt a 0-0 a legelején. A tizedik perc legvégén újra a portugál került helyzetbe, de a tizenhatoson belül hatalmas luftot rúgott.
A Barcelona első komolyabb helyzete az első fél óra végén jött, Paulinho kapott remek labdát Messitől, a brazil lefutotta Sergio Ramost, de Keylor Navas védte a lövését. Nem sokkal később Marc-André ter Stegentől is kellett egy bravúr, majd a védői állítottak meg lövés előtt egy újabb Real-kontrát.
Az első félidőben egyértelműen Paulinho volt a Barcelona legveszélyesebbje, a hajrában is megtornáztatta Navast, de gólig nem jutott. Ahogy Karim Benzema sem, ő a 42. percben csúsztatott kapufára. A félidőt Lionel Messi 28 méteres, sorfalba vágott szabadrúgása zárta.
A második félidőt viszont már a Barcelona kezdte jobban, több helyzet után az 53. percben tökéletes ziccerre játszottak ki egy akciót, Ivan Rakitic felvezetése után Sergi Roberto játszott keresztbe Luis Suáreznek, aki üresen nem hibázott, megszerezve a vezetést a Barcelonának.
A gól után lendületben maradt a Barcelona, Suárez oldalhálót lőtt, majd Sergio Ramos mellett lépett volna meg. A spanyol védő hatalmas pofont osztott ki a csatárnak, csak sárga lapot kapott, pedig ki kellett volna állítani.
Percekkel a pofon után a Barcelona eldöntötte a meccset, Suárezék üres kapura játszottak ki egy helyzetet, az elfektetett Keylor Navas helyett Dani Carvajal védett, de kézzel, azonnal kiállították. A tizenegyest Messi gond nélkül értékesítette, ezzel a Barcelona nagy lépést tett a győzelem felé. Messi ezzel az első játékos lett, aki 25 gólt szerzett az El Clásicók történetében.
A második gól után kétségbeesetten változtatott Zinedine Zidane, két ütemben érkezett Nacho, majd Asensio és Gareth Bale, hogy felrázzák a csapatot. Ez majdnem sikerült is, a 78. percben Bale jutott lövésig, de Ter Stegen védett, majd a fordulásból az Andrés Iniesta helyére beálló Nelson Semedo okozott gondot. Az utolsó 10 percen belül Sergio Ramos is lőtte telibe a Barca-kapust, szépíteni nem tudott, ahogy egy perccel később sem, amikor az ötösön maradt le egy labdáról, igaz lesen.
A végeredmény a hosszabbításban, a 93. percben alakult ki, amikor Aleix Vidal lövése csúszott át Keylor Navas hasa alatt, majd gurult át a labda a gólvonalon. A helyzet Messi látszólag nagy mentéséből jött, de később az ismétlések után kiderült, hogy kintről hozta vissza a labdát az argentin.
A 3-0-s győzelmével a Barcelona 14 pontra rázta le a Real Madridot, sorban háromszor nyert bajnokit a Real pályáján. A Barcelona előnye 9 pont a második Atlético Madrid előtt.