82'Substitution — Bruno Onyemaechi on, Nayair Tiknizyan offOlympiakos Piraeus
81'Substitution — Adrien Thomasson on, Djaoui Cissé offRennes
81'Substitution — Boulaye Dia on, Eliezer Mayenda offRennes
80'Substitution — Mousa Al-Tamari on, Ludovic Blas offRennes
79'Substitution — Gustavo Sá on, Chiquinho offOlympiakos Piraeus
60'Substitution — Sebastian Szymański on, Valentin Rongier offRennes
59'Substitution — Leon Bailey on, Gelson Martins offOlympiakos Piraeus
59'Substitution — Armando González on, Roman Yaremchuk offOlympiakos Piraeus
45'Substitution — Manolis Saliakas on, Marcus Pedersen offOlympiakos Piraeus
Match stats
42%Ball Possession58%
9Total Shots12
4Shots on Goal3
3Corner Kicks3
15Fouls11
1Yellow Cards0
Live data via our aggregation feed, refreshed continuously — figures may lag the broadcast by a few seconds. 18+ · Gamble responsibly · T&Cs apply · BeGambleAware.org
18+
Please gamble responsibly. When live, 18+/21+ only, region-dependent. BeGambleAware.org · GamCare · National Council on Problem Gambling. TFA may earn commission from operators listed — this never affects our analysis or rankings.
Total Football Analysis — tactical journalism, now with live odds, model-backed predictions and an honest betting layer.