WATCH Ligue 1 LIVE & ONLY on beIN SPORTS | available via Foxtel, Kayo Sports, Fetch TV & beIN SPORTS CONNECT
The away side trailed by two goals shortly before half-time, but Yilmaz inspired an unlikely fightback to send Lille one point clear of PSG with four matches remaining.
Monaco are just a point further back in third after Wissam Ben Yedder's late goal grabbed a 1-0 win at Angers, but fourth-placed Lyon's title challenge appears all but over, sitting six points off the pace.
"Scoring just before half-time gave us a lot of confidence, we knew we could go all the way," Lille's other goalscorer Jonathan David told Canal Plus.
"We will celebrate, then focus for the next match. These are victories which prove to us that we can go to the end."
Lyon assistant coach Claude Fichaux said: "The scenario and the result are terrible. We arrived in the dressing room downcast."
Lyon struck first in the 20th minute as Islam Slimani drilled Maxence Caqueret's cut-back into the roof of the net.
The host doubled its lead in comical circumstances 10 minutes before the interval as confusion in the Lille defence ended with the ball ricocheting off captain Jose Fonte and into his own net.
But Christophe Galtier's men gave themselves hope on the stroke of half-time when Yilmaz smashed a free-kick into the top corner to score his 11th league goal of the campaign.
The visitor levelled on the hour mark as Yilmaz broke clear of the Lyon defence and squared for David to convert a simple tap-in.
The 35-year-old sealed the victory in the 85th minute, latching onto his fellow Turkish international Yusuf Yazici's flick-on to bear down on goal and clip a cool finish over Lyon goalkeeper Anthony Lopes.
Meanwhile, Monaco, who edged PSG to the title in 2017, remains well in the hunt.
Niko Kovac's Monaco were frustrated for long periods at Angers, with Stevan Jovetic hobbling off injured early on shortly after being denied in a one-on-one by home goalkeeper Paul Bernardoni.
Kevin Volland and Aleksandr Golovin both went close for the visitor before half-time, while Guillermo Maripan struck the crossbar from close range early in the second period.
But Ben Yedder, who replaced Jovetic, found space with 11 minutes to play and lifted the ball over Bernardoni to grab his 18th league goal of the campaign and clinch a precious three points.
Earlier on Sunday, troubled Bordeaux suffered its fifth straight defeat, losing 4-1 to Lorient.
Nigerian forward Terem Moffi scored a hat-trick to keep Bordeaux in a battle against relegation, three days after their American owners said they wanted to pull their financial support for the six-time French champions.
Some 1,000 Bordeaux supporters protested in front of the city's town hall on Saturday demanding the resignation of president Frederic Longuepee, accusing him of plunging the club into bankruptcy.
American investment fund King Street announced Thursday it was divesting itself of Bordeaux because of "the economic context linked to the Covid-19 pandemic and the withdrawal of (broadcast group) Mediapro (which) caused an unprecedented drop in revenues for French football clubs".
The club was placed into administration as Bordeaux mayor Pierre Hurmic said the city would be involved in trying to find the team a new buyer.
Bordeaux fell behind to a Yoane Wissa goal on 18 minutes before Moffi struck twice to put the home side up 3-0 by half-time.
Moffi completed his hat-trick 10 minutes from time before Malian teenager Issouf Sissokho bagged his first senior goal as a late consolation.
Bordeaux remains five points clear of the relegation play-off spot, currently occupied by Nantes.
Dijon was relegated following a 5-1 loss at Rennes.
Lens reclaimed the fifth and final European place from Marseille with a 2-1 victory over Nimes, while Nice snapped Montpellier's 11-game unbeaten run with a 3-1 win in Sunday's early kick-off.
PSG defeated Metz 3-1 on Saturday to move top as they hunt an eighth Ligue 1 title in nine seasons.