Sixth-placed Lyon was four points behind Rennes in third spot and a place in the Champions League qualifying rounds next season. Lyon hosts multiple Italian champion Juventus in the first leg of their last-16 game on Wednesday.
Lyon's penalty was awarded for handball following a lengthy video review, then twice taken after Maxwell Cornet's effort was saved. The referee ruled the goalkeeper was off his line and Dembélé tucked it away on Lyon's second go for his 14th league goal.
Metz finished with 10 men after captain Habib Diallo — the team's top scorer — was given a red card after VAR replays showed him blatantly shoving Brazilian defender Fernando Marçal in the face. In Friday's other match, Nice's defense again let coach Patrick Vieira down in a 2-2 home draw with Brest.
Nice led 2-0 after 33 minutes through Algeria midfielder Adam Ounas and Denmark striker Kasper Dolberg, who participated in each other's goals. Forward Samuel Grandsir pulled one back on the stroke of halftime, and was involved in Brazilian center half Dante's own goal in the 53rd.
Nice was in ninth spot and Brest was 12th ahead of this weekend's matches. Defending champion Paris Saint-Germain was 10 points clear of second-placed Marseille, which faces Nantes on Saturday. PSG is at home to Bordeaux on Sunday.
More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP_Sports