Finał miał być świętem futbolu, przystawką do mistrzostw Europy, ale okazał się przeciętnym meczem, jakich większość w lidze. Zaskoczenie tym większe, że grały dwie najlepsze polskie drużyny, a w wyjściowych składach znalazło się dziesięciu reprezentantów kraju, w tym czterech powołanych do kadry na Euro.
Jeden z nich, Radosław Matusiak, miał być rezerwowym, ale wpisany do protokołu Paweł Brożek źle się poczuł i Matusiak musiał zająć jego miejsce. Grał tak wolno i ospale, że jeśli nie poprawi formy przez trzy tygodnie, to kadra nie będzie z niego miała żadnego pożytku (Leo Beenhakker był na meczu). Nic dziwnego, że po przerwie już Matusiaka nie zobaczyliśmy.
Obydwie drużyny znają się bardzo dobrze, każda z nich zdawała sobie sprawę, że ruszenie do ataku bez opamiętania może się źle skończyć. Ale Jan Urban wystawił dwóch napastników – Takesure Chinyamę i Bartłomieja Grzelaka, mimo że bliższe jest mu ustawienie tylko z jednym, wysuniętym.
Niezależnie od koncepcji obydwu trenerów gra toczyła się głównie w środku boiska. Pierwszy strzał oddał Mauro Cantoro dopiero w 10. minucie. Przez prawie 25 minut lekką przewagę miała Wisła, ale to Legia była bliższa zdobycia gola. Po akcji Grzelaka lewą stroną obrońcy Wisły zablokowali Miroslava Radovicia (legioniści domagali się rzutu karnego), a strzał Chinyamy wybił z linii Cleber. Aktywny był w tej części Roger Guerreiro, ale albo nie trafiał w bramkę, albo jego podania nie dochodziły do partnerów. Przez kilka początkowych minut drugiej połowy było więcej emocji niż w całej pierwszej. Najpierw po podaniu Marcina Baszczyńskiego Rafałowi Boguskiemu zabrakło kilku centymetrów, żeby skierować piłkę do bramki. Potem przewagę zdobyli warszawianie.
Kiedy Legia złapała rytm, warszawscy kibice postanowili jej przeszkodzić. Zapalili race i zaczęli nimi rzucać w trybunę zajmowaną przez kibiców Wisły. Sędzia przerwał mecz, na stadion musiała wejść policja. Przerwa, podczas której kibice obydwu drużyn prześcigali się w inwektywach, trwała około 10 minut.