Starting in the middle of a front three, the 22-year-old opened the scoring on 17 minutes, before doubling Lyon’s advantage and his own tally two minutes later.
Martin Terrier added a third on 35 minutes but both teams finished the game with ten men; Lucas Tousart getting his marching orders on 66 minutes and Dijon’s Enzo Loiodice following in second half injury time.
The 22-year-old’s first strike was a lobbed finish from an acute angle after a good through ball from Tanguy N’Dombele, while the second was an acrobatic effort after Houssem Aouar’s shot was parried by Runar Runarsson in the Dijon goal.
Dembele played the full 90 minutes for Bruno Genesio’s side, and set up Memphis Depay in the final five minutes but the Dutchman was unable to convert.
The result puts Lyon second behind Paris Saint-Germain in Ligue 1, ahead of Marseille and Lille on goal difference.