Dembele was back-pedaling and had two defenders marking him near the penalty spot, but still rose to meet Leo Dubois' cross from the right with a powerful header past goalkeeper Stephane Ruffier. Less than a minute earlier, the former Celtic striker had missed with a far easier header.
"It was a great derby, with chances at both ends," Lyon coach Bruno Genesio said. "We showed we're a real team that can fight back." Winger Romain Hamouma scored with a fine looping header of his own to put Saint-Etienne ahead in the 21st minute, timing his run to meet left back Gabriel Silva's cross.
Lyon had gone close to taking the lead in spectacular style after 12 minutes. Netherlands forward Memphis Depay controlled a long ball with just one touch and clipped a 25-meter lob with the next, only for Ruffier to make an outstanding tip-over save.
Midway through the second half, Depay's close-range shot was blocked by the arm of defender Loic Perrin and France forward Nabil Fekir sent Ruffier the wrong way from the spot. Last season, Fekir scored twice in a 5-0 away win.
Lyon goalkeeper Anthony Lopes distinguished himself with a double save from close range in the 88th — taking his tally for the match to seven saves. "Antho was exceptional once again," Genesio said. In the 94th, Dembele headed over from six meters out. Moments later, Saint-Etienne failed to clear the ball properly. The ball came back in from the right, once again from the accurate boot of Dubois, and Dembele netted to trigger celebrations on Lyon's bench.
"We had no right to lose this game," Perrin said. "We had chances to score a second goal." Lyon and Saint-Etienne are two of France's most storied sides and share 17 league titles: a national record 10 for Saint-Etienne and seven for Lyon, achieved consecutively at the turn of the decade when it was considered France's untouchable side the way Paris Saint-Germain is now.
But both Lyon and Saint-Etienne are a long way behind runaway leader PSG now and their realistic ambition is to catch Lille in second place, which guarantees automatic qualification for the Champions League.
Lyon is three points behind Lille after 21 games, while fourth-placed Saint-Etienne is one behind Lyon. PSG is unbeaten in the league with 53 points, and 13 points ahead of Lille, having played two games less.
On Saturday, PSG crushed bottom club Guingamp 9-0 but lost midfielder Marco Verratti to a left ankle injury, making Verratti doubtful for the Champions League last-16 first leg away to Manchester United on Feb. 12.
MARSEILLE BOUNCES BACK Marseille scraped a 1-0 win at Caen to take some pressure off coach Rudi Garcia. Morgan Sanson headed in a cross from fellow midfielder Kevin Strootman in the 47th minute, giving last season's Europa League runner-up its first win in Ligue 1 since Nov. 25 and moving the team up to seventh place.
Normandy side Caen, which is 16th, had defender Frederic Guilbert sent off for a second yellow card in the 52nd but went close to equalizing in stoppage time. Marseille moved one point behind sixth-placed Montpellier, which drew 0-0 at Rennes on Sunday.
OTHER MATCHES Denmark striker Andreas Cornelius scored a 77th-minute winner as midtable Bordeaux won 1-0 at home to 18th-placed Dijon, which had midfielder Romain Amalfitano sent off in the 34th. Also, Angers beat Nantes 1-0 with a winner four minutes into injury time from midfielder Angelo Fulgini. Angers and Nantes, which recently sold top scorer Emiliano Sala to Premier League Cardiff, both have 23 points.
More AP soccer: https://apnews.com/apf-Soccer and https://twitter.com/AP_Sports