Jordan Ferri scored the only goal for the hosts in the first half as PSG's lead over Monaco, who beat Stade Rennes 1-0 away on Saturday, was cut to 10 points with five games left.
The result left Lyon in fifth place on 54 points, two behind arch rivals St Etienne in fourth, and 25 adrift of PSG.
A Monaco defeat and a PSG win would have handed Laurent Blanc's side the title.
PSG, whose 2-0 defeat at Chelsea in their Champions League quarter-final return leg ended an 11-game winning streak in all competitions, have now lost their last two matches despite Blanc ringing the changes after their elimination from Europe's elite club competition.
In the absence of the injured Zlatan Ibrahimovic, forwards Edinson Cavani and Ezequiel Lavezzi have so far failed to rise to the occasion.
"It was difficult. I think Lyon played a good game, we are disappointed especially after the London game. We will need to bounce back," keeper Salvatore Sirigu told Canal Plus.
PSG take on Lyon again next Saturday in the League Cup final.
The goal came when Argentine Lavezzi's weak pass was intercepted by Ferri, who beat Sirigu with a curled effort from 25 metres in the 31st minute.
Shortly before the hour, midfielder Blaise Matuidi made way for forward Lucas, but the Brazilian disappointed once again as he failed to make inroads with his individual runs.
Lyon came close to doubling their tally through Ferri again but Sirigu tipped away the midfielder's half volley.
Lyon keeper Anthony Lopes then made a brilliant save to keep out Javier Pastore's angled volley with five minutes remaining.
Ligue Un results
FC Nantes 1 – 0 En Avant Guingamp
Stade de Reims 2 – 2 Saint-Etienne
Olympique Lyon 1 – 0 Paris Saint-Germain
- Sports & Recreation
- Jordan Ferri
- Laurent Blanc
- Salvatore Sirigu