W meczach półfinałowych zarówno Legia jak i Stal popisały się pewnymi zwycięstwami nad czołowymi ekipami Orlen Basket Ligi. Stołeczna drużyna pokonała Trefl Sopot, zaś Stal wyeliminowała Anwil Włocławek. Finaliści w swoich poprzednich spotkaniach pucharowych rozgrywanych w ramach turnieju w Sosnowcu pokazywali ofensywną i efektowną koszykówkę. Tym samym oczekiwania wobec finału były wysokie.
Pierwsza kwarta rozpoczęła się od zaciętej walki pod koszem Ostrowa. Skutkowało to dwoma przewinieniami dla ekipy z Wielkopolski już pół minuty po rozpoczęciu spotkania. Gra w pierwszych fragmentach meczu szybko przenosiła się z jednej strony parkietu na drugą. Celnymi trójkami popisali się Loren Jackson z Legii i Ojars Silins ze Stali. Na cztery minuty przed końcem pierwszej odsłony na tablicy widniał remis 9:9 po udanej podkoszowej akcji Christiana Vitala. Ostrowianie grali w tej kwarcie konsekwentnie w obronie, utrudniając legionistom wypracowanie pozycji rzutowej. Trzy minuty przed końcową syreną Vital efektownie trafił za trzy, a piłka po jego próbie wpadła do kosza po wysokim odbiciu się od obręczy. Minutę później był remis 15:15. W końcówce kwarty Stal wykorzystała limit fauli. Mimo tego faktu na pół minuty przed końcem koszykarze z Ostrowa osiągnęli czteropunktowe prowadzenie po akcji 2+1 w wykonaniu Durisicia. Ostatecznie pierwsza część meczu zakończyła się wynikiem 20:18 dla Stali.
Na początku drugiej kwarty celne rzuty za dwa punkty zaprezentowali Michał Chyliński oraz Ojars Silins i Ostrów powiększył przewagę. Niedługo potem Stal prowadziła już 28:22. Ze strony Legii odpowiedział Jackson celną trójką. A chwilę później kolejną. W tym momencie przy stanie 30:28 dla Stali trener Ostrowian poprosił o czas. Po przerwie Durisić dorzucił kilka punktów na konto swego zespołu. Co prawda nie trafił przy rzucie za dwa, ale przy jego próbie Ponitka faulował i dotknął siatki, co skutkowało dwoma punktami dla Stali. Durisić chwilę później wykorzystał też rzut wolny. Kolejne fragmenty gry obfitowały w faule i niską skuteczność. Ten impas trzy minuty przed końcem przełamał Holman, który po udanej kontrze wsadem doprowadził do remisu. Kilkanaście sekund później Vital dał Legii prowadzenie, trafiając mimo faulu na nim. Amerykanin dołożył jeszcze jeden punkt po rzucie wolnym i Legia prowadziła 37:34. Końcowe fragmenty to efektowne trójki Holmana i Chylińskiego. Pierwsza połowa finału Pucharu Polski zakończyła się prowadzeniem Ostrowian 41:40.
Kolejna odsłona tego pojedynku przyniosła dalszą wyrównaną walkę. Po trzech minutach trzeciej kwarty na tablicy widniał wynik 46:44 dla Stali Ostrów Wielkopolski. Niedługo później Holman po kontrze i sprincie przez całe boisko doprowadził do remisu. W połowie kwarty gra była bardzo dynamiczna. David Brembly celnym rzutem za trzy sprawił, że Stal prowadziła pięcioma punktami. Do remisu po 52 doprowadził chwilę potem Vital po przechwycie, kontrze, a ostatecznie celnych wolnych. Dwie minuty przed końcem Michał Kolenda trafił za trzy, a po nim Ponitka za dwa. Tym samym wynik zmienił się na 58:53 dla stołecznej drużyny. Było to najwyższe prowadzenie Legii do tej pory. W ostatnich sekundach ta przewaga jeszcze się zwiększyła, a wraz z końcową syreną po efektownej asyście Ponitki wynik przed czwartą kwartą na 65:55 ustalił Dariusz Wyka.
W ostatniej odsłonie Stal starała się odrabiać straty. Kolejne punkty w meczu zdobył Durisić, ale celną trójką odpowiedział Kolenda. Jackson po imponującym dryblingu powiększył przewagę Legii do trzynastu punktów, gdy do końca finału zostało siedem minut. W połowie kwarty prowadzenie drużyny z Warszawy było jeszcze bardziej okazałe – 81 do 64. Gracze Ostrowa nie mieli w końcówce wielu argumentów, zaś Legia grała skutecznie, zarówno w ataku jak i w obronie. Skutecznością i dynamiką imponował Jackson, Holman notował kolejne zbiórki. Obaj przekroczyli granicę 20 punktów w meczu. Legia wygrała spotkanie 94:71 i sięgnęła po raz drugi w swojej historii po Puchar Polski. Legia: Loren Jackson 24 (4), Aric Holman 23 (3), Christian Vital 17 (1), Michał Kolenda 15 (3), Marcel Ponitka 5, Raymond Cowels III 4, Josip Sobin 4, Dariusz Wyka 2, Grzegorz Kulka 0, Marcin Wieluński -, Adam Linowski - Stal: Nemanja Đurišić 24, Ojārs Siliņš 13 (2), David Brembly 11 (3), Laurynas Beliauskas 10 (2), Michał Chyliński 7 (1), Rodney Chatman 3, Arunas Mikalauskas 2, Krzysztof Sulima 1, Wiktor Sewioł 0, Aleksander Załucki -,