Lech Poznań – Piast Gliwice (1:0)
Przed rozpoczęciem spotkania kibice Lecha Poznań zaprezentowali oprawę, na której postać w koszulce Lecha trzymała puchar za zwycięstwo w Ekstraklasie, a pod spodem widniał napis "Moja i twoja nadzieja". Od początku spotkania gospodarze, uskrzydleni wsparciem fanów, ruszyli do ataków i dążyli do zdobycia bramki dającej im prowadzenie. Pierwsza groźna sytuacja miała miejsce w 13. minucie rywalizacji, kiedy to po stracie Czerwińskiego i akcji Sousy, zakotłowało się pod bramką Placha. W 22. minucie spotkania jednak to Piast nieoczekiwanie mógł wyjść na prowadzenie. Dobrą akcję prawą stroną zamknął strzałem Kostadinow, ale jego uderzenie obronił doskonale ustawiony Bartosz Mrozek. Skończyło się więc dla Lecha na strachu, ale był to pierwszy sygnał ostrzegawczy dla zawodników "Kolejorza".
Lech długo bił głową w mur i nie mógł stworzyć sobie stuprocentowej sytuacji do zdobycia gola. Poznaniacy dłużej utrzymywali się przy piłce, ale niewiele z tego wynikało. Aż do 39. miniuty rywalizacji. Wówczas Gholizadeh kapitalnie zagrał do Carstensena, który zgrał piłkę do Afonso Sousy, a Portugalczyk wyprowadził Lecha na prowadzenie, wprawiając w ekstazę poznańskich kibiców. Do końca połowy wynik już się nie zmienił i po pierwszych 45 minutach Lech mógł cieszyć się z tytułu mistrza Polski, choć gracze Lecha musieli mieć się na baczności, bowiem Raków do przerwy prowadził z Widzewem 1:0.
Druga połowa rozpoczęła się pod delikatne dyktando Piasta Gliwice. W 52. minucie groźnie uderzał Kostadinow, jednak jego uderzenie poszybowało minimalnie ponad poprzeczką bramki Mrozka. W odpowiedzi Sousa przeprowadził akcję lewą stroną, zagrał do Antonio Milicia, alei jego strzał był niecelny.
W 58. minucie Lech zdobył drugą bramkę w tym spotkaniu. Sousa kapitalnie wypatrzył w polu karnym Ishaka, a ten zgrał piłkę do Carstensena, który z najbliższej odległości dopełnił formalności. Finalnie po analizie VAR gol został jednak anulowany, bowiem Ishak w momencie podania od Sousy znajdował się na pozycji spalonej. W kolejnych minutach gracze z Poznania szukali drugiego gola, bowiem wiedzieli, że Raków prowadzi z Widzewem 2:0 i jakiekolwiek potknięcie może się skończyć dla nich katastrofą. W 77. minucie w dobrej okazji znalazł się Gonzalez, jednak jeden z obrońców w ostatniej chwili powstrzymał gracze Lecha przed oddaniem strzału na bramkę.
W końcówce groźnie strzelał jeszcze w 88. minucie Jorge Felix, jednak jego uderzenie wylądowało finalnie na słupku i po trzech doliczonych minutach, podczas których już nic się nie wydarzyło, Lech Poznań mógł świętować tytuł mistrza Polski!

Raków Częstochowa – Widzew Łódź (0:0)
Raków do samego końca liczył na potknięcie Lecha, które w konsekwencji pozwoliłoby graczom tej drużyny na sięgnięcie po mistrzostwo Polski, ale sytuacja ekipy Marka Papszuna nie była usłana różami. Mimo tego od pierwszych minut gracze z Częstochowy ruszyli do ataku i zepchnęli Widzew do głębokiej defensywy. Brakowało jednak klarownych sytuacji, bowiem pierwszą dogodną sytuację do zdobycia gola oglądaliśmy dopiero w 29. minucie, kiedy to Peter Barath skierował piłkę do siatki, ale wcześniej zagrał piłkę ręką, co nie uszło uwadze sędziów, przez co trafienie nie mogło zostać uznane.
Nieuznana bramka sprawiła jednak, że Raków nabrał wiatru w żagle. W 36. minucie Barath ponownie uderzał na bramkę Widzewa, ale jego strzał głową został obroniony przez Rafała Gikiewicza. W 43. minucie dobrą sytuację miał natomiast Jesus Diaz, który w dogodnej sytuacji fatalnie spudłował, nie trafiając nawet w światło bramki. Co się odwlecze, to nie uciecze. Podopieczni Marka Papszuna po raz kolejny pokazali, że grają do końca i w doliczonym czasie gry wyszli na prowadzenie. Barath został sfaulowany w polu karnym, a jedenastkę na gola zamienił Jonatan Braut Brunes, wyprowadzając swoją drużynę na prowadzenie. Piłkarze z Częstochowy zdobyli więc gola do szatni, który jednak po pierwszych 45 minutach wiele im nie dawał, bowiem Lech prowadził u siebie z Piastem 1:0.
Druga połowa rozpoczęła się kapitalnie dla Rakowa. Fatalny błąd w obronie popełnił Peter Therkildsen, w konsekwencji czego Patryk Makuch łatwo przejął piłkę i bez problemu pokonał Gikiewicza w sytuacji sam na sam, podwyższając stan meczu na 2:0. W 55. minucie dobrą okazję na zdobycie gola kontaktowego miał Lubomir Tupta, ale jego strzał z woleja poszybował ponad poprzeczką bramki strzeżonej przez Kacpra Trelowskiego. To był jednak jeden z nielicznych ataków Widzewa. Raków cały czas kontrolował losy spotkania i groźnie atakował. W 62. minucie dobrą akcję prawym skrzydłem przeprowadził Jean Carlos, który świetnie dostrzegł Baratha, jednak jego uderzenie wylądowało tylko na poprzeczce bramki Gikiewicza.
Trzy minuty później podopieczni Marka Papszuna otrzymali drugi rzut karny w tym meczu, po tym jak Krajewski sfaulował w polu karnym Amorima. Do piłki podszedł Patryk Makuch, jednak jego strzał kapitalnie obronił Rafał Gikiewicz, utrzymując swoją drużynę przy życiu. W 75. minucie drugą żółtą kartką, a w konsekwencji czerwoną został ukarany Fran Tudor, co zwiastowało nam duże emocje w końcówce rywalizacji. I faktycznie tak było. W 83. minucie meczu bramkę kontaktową zdobył bowiem zespół Widzewa. Samuel Kozlovsky kapitalnie dośrodkował z boku boiska do Krajewskiego, a ten strzałem głową sprawił, że Widzew do samego końca walczył o chociaż punkt w tym spotkaniu. Finalnie jednak graczom z Łodzi zabrakło już czasu, jak i klarownych sytuacji i ostatecznie Raków wygrał z łodzianami 2:1, choć ostatecznie to zwycięstwo dało podopiecznym Marka Papszuna "tylko" srebrne medale, bowiem Lech wygrał z Piastem i zagwarantował sobie tytuł mistrzowski!

Jagiellonia Białystok – Pogoń Szczecin (1:1)
Jagiellonia miała w swoich nogach losy brązowego medalu Ekstraklasy, wystarczyło nie dać się pokonać Pogoni Szczecin w bezpośrednim starciu. Trener Siemieniec zapowiadał, że minimalizmu nie będzie i gra od pierwszych minut potwierdziła jego słowa: po pierwszych niecelnych strzałach Darko Czurlinow huknął w z dystansu i Valentin Cojocaru „wypluł piłkę”. Kubicki nie zdołał skutecznie dobić, ale ta akcja obrazowała skalę dominacji Jagi na swojej murawie. Tymczasem tuż po upływie półgodziny akcja Pogoni pozwoliła Leo Borgesowi dograć z lewej strony na głowę Efthymisa Koulourisa i Grek precyzyjną główką dał nieoczekiwane prowadzenie Pogoni, które mogło do przerwy nawet wzrosnąć, gdyby i Kamil Grosicki zdołał wykorzystać swoją okazję.
Duma Podlasia weszła w drugą połowę pewnie, zaczynając od poprzeczki Czurlinowa i obronionej dobitki Hansena. Macedończyk zapewnił również kolejną groźną sytuację zanim Norbert Wojtuszek wprawił stadion w szał radości. Po rozegraniu rzutu rożnego u progu ostatnich 20 minut główka 23-latka pozwoliła wyrównać i zmienić dynamikę. Teraz Portowcy musieli gonić wynik, a w trakcie drugiej połowy oba zespoły miały swoje pretensje, domagając się rzutów karnych – żadna takiej decyzji się nie doczekała. Białystok zaczął świętowanie po ostatnim gwizdku - jest brąz, będą europejskie puchary!

Legia Warszawa – Stal Mielec (2:2)
Pół godziny kompletnej dominacji Legii skończyło się tylko słupkiem po pięknym strzale Morishity, tymczasem Stal przy pierwszej naprawdę groźnej akcji cieszyła się z gola Fryderyka Gerbowskiego. VAR anulował to trafienie i do przerwy goli nie było. Drugą połowę otworzył karny dla Stali wykorzystany przez Wolsztyńskiego i dopiero wprowadzony na pożegnanie z widzami Tomas Pekhart dał Legii gola w 64. minucie. Mielczanie raz jeszcze objęli prowadzenie, tym razem z natychmiastową ripostą Pawła Wszołka, którego gol na 2:2 w 79. minucie był ostatnim w sezonie.
Górnik Zabrze – Korona Kielce (1:1)
Największą wiadomością soboty w Zabrzu było przedłużenie umowy Lukasa Podolskiego z Górnikiem, bo mecz okazał się kolejnym rozczarowaniem Trójkolorowych. Szybki słupek Ousmane’a Sowa dał nadzieję, ale ten sam zawodnik przed przerwą wyleciał z boiska z czerwoną kartką i Korona miała przewagę. Dopiero, gdy straciła ją w 77. minucie, udało się objąć prowadzenie po akcji Fornalczyka z Błanikiem. Dopiero w doliczonym czasie Luka Zahović głową zapewnił wyrównanie.
Lechia Gdańsk – GKS Katowice (2:3)
Pojedynek charakternych beniaminków zaczął się prowadzeniem GieKSy po golu Filipa Szymczaka, na co przed przerwą zdołał odpowiedzieć Kacper Sezonienko. Na dowód przemiany Lechii wiosną, Maksym Chłań po godzinie gry dał prowadzenie, lecz to katowiczanie mieli ostatnie słowo w końcówce. Najpierw doskonały finisz sezonu spuentował golem Oskar Repka, a o losach meczu przesądziło samobójcze trafienie Miłosza Kałahura.
Puszcza Niepołomice – Śląsk Wrocław (1:1)
Pojedynek na dnie tabeli miał stawkę stricte honorową zanim oba zespoły spotkają się w Betclic 1. Lidze latem. Żubrom udało się objąć prowadzenie – tradycyjnie – po stałym fragmencie gry, na co Wojskowi długo szukali odpowiedzi, gdy kolejne ataki nie przynosiły efektu. Przełom dała precyzyjna wrzutka Mateusza Żukowskiego, a Assad Al Hamlawi głową dał wyrównanie.
Radomiak Radom – Motor Lublin (2:3)
Koniec sezonu w Radomiu zaczął się od bramek po rzucie rożnym. Z tego samego narożnika, ale w dwóch różnych połowach, dlatego pierwszy cieszył się Motor z gola Ndiaye, a drugi Radomiak po bramce Paulo Henrique na starcie drugiej odsłony. Nim minęła godzina, błyskawiczny dublet zaliczył Samuel Mraz, śrubując swój rekord jako najlepszego strzelca Motoru w Ekstraklasie (16 goli). Joker w postaci Leandro dał Radomiakowi gola kontaktowego, na wyrównanie zabrakło czasu i Motor kończy na najwyższym miejscu w historii, siódmym.
Zagłębie Lubin – Cracovia (1:2)
Zdecydowana przewaga Cracovii w pierwszej połowie ostatniego meczu sezonu została udokumentowana dwiema bramkami. Jako pierwszy widowiskowo uderzył z dystansu Ajdin Hasić, a przed przerwą Mauro Perković nieco szczęśliwie podwoił prowadzenie lobem. Trzeciego trafienia – już po zmianie stron – Pasom nie uznano z racji spalonego, a chytry strzał Damiana Dąbrowskiego z prawie 20 metrów zapewnił kontakt i… tyle, do wyrównania sporo brakło.