Dans un début de match qui penche en la faveur du LOSC, la première vraie occasion de la partie est à mettre au profit du Stade rennais : Adrien Thomasson adresse un centre à ras de terre en retrait, alors que Mahamadou Nagida était seul au deuxième poteau et avait également la possibilité de tenter sa chance (8e). Puis Lille répond : servi en retrait par Ethan Mbappé, Benjamin André tente sa chance, mais sa tentative manque de puissance et est contrée par la défense rennaise (9e).

Rennes pousse mais Eliezer Mayenda fait le mauvais choix en contre-attaque. L'attaquant choisit le mauvais côté et sa tentative est finalement contrée par la défense lilloise (13e). Mais les Bretons se rattrapent avec une première frappe signée Bryan Reynolds, qui tente sa chance à environ 25 mètres. C'est encore contré par la défense lilloise (22e).
Lille ouvre le score sur une sublime action collectif : Soriba Diaoune accélère dans le couloir droit, combine avec Ethan Mbappé dans la surface qui lance Hakon Haraldsson. L'Islandais manque son contrôle mais le ballon revient dans les pieds de Diaoune à l'entrée de la surface qui conclut d'une frappe puissante à ras de terre qui trompe Brice Samba, 0-1 (24e).
Mais Rennes recolle au score cinq minutes plus tard : sur le premier corner breton, Nagia dévisse sa reprise de l'extérieur mais se reprend et centre pour trouver la tête d'Abdelhamid Aït Boudlal au point de pénalty. C'est suivi par Boulaye Dia, complètement lâché par la défense lilloise, qui enfonce au second poteau, 1-1 (31e). Un but qui redonne de l'allant aux Rennais, qui multiplient les occasions : Valentin Rongier déborde sur le côté droit et adresse un centre en retrait pour Mayenda, seul aux abords de la surface. L'attaquant déclenche sa frappe, mais sa tentative est contrée par la défense lilloise (37e).
Puis Nagida déborde sur le côté gauche et tente de se mettre en position de frappe, mais Nathan Ngoy gêne suffisamment le Rennais pour empêcher sa tentative (41e). Juste avant la pause, Rongier réclame un pénalty pour une main de Mbappé, mais sans obtenir ce qu'il veut (44e).
Ngoy offre la victoire au LOSC
Au retour des vestiaires, Lille pousse pour repasser devant : servi par Haraldsson sur le côté gauche, Calvin Verdonk envoie une frappe surpuissante à angle fermé. Mais Samba reste vigilant et détourne le ballon en corner (47e). Rennes se reprend et voit Dia accélérer dans le couloir droit pour centrer et trouver Mahdi Camara, mais la défense nordiste repousse (56e). À l'entrée de la surface rennaise, Diaoune tente sa chance, mais sa frappe s'envole largement au-dessus des cages de Samba (58e).
Thomasson contre la relance de Berke Özer, qui manque de peu de voir le ballon rentrer dans son propre but (62e). Une nouvelle grosse erreur de la défense lilloise a failli offrir un but à Musa Al-Tamari qui bute sur une très belle parade d'Özer qui sauve les siens (65e). Mais Rennes se fait punir presqu'immédiatement : après une incursion lilloise, Rongier peine à ressortir le ballon pour se dégager et finit par le perdre dans les pieds de Diaoune, qui remet pour Ngoy à l'entrée de la surface. Le défenseur central conclut d'une frappe à ras de terre côté ouvert, imparable, 1-2 (68e).
Rennes a encore l'opportunité de revenir lorsque Ludovic Blas se retourne dans la surface et enchaîne en pivot. Sa frappe vient frôler le poteau droit d'Özer (75e). Rennes prend d'assaut la surface nordiste dans les dernières minutes et le bloc lillois recule de plus en plus. Dans son couloir gauche, Nagida accélère et Issa Soumare remet en retrait mais n'est pas suivi (85e). Al-Tamari dépose la défense et centre d'une talonnade pour Blas qui ne réussit pas à reprendre (86e). Soumaré est encore stoppé alors que Nagida s'offrait un nouveau festival à gauche (89e). Charlie Cresswell réclame un pénalty après un bon dégagement de Ngoy dans la surface, en vain (90e+3).

Joueur de la rencontre : Soriba Diaoune.
