Gourcuff's strike cancelled out Kurt Zouma's first-half opener as Lyon remained third on 60 points with four games left, two points ahead of fourth-placed St Etienne.
The top two Ligue 1 teams directly qualify for the Champions League group stage while the third-placed side go into the third qualifying round.
Later on Sunday, Paris St Germain, who have 70 points, will look to extend their lead over second-placed Olympique Marseille to nine points when they travel to Evian Thonon Gaillard.
St Etienne, who had already secured a Europa League spot by wining the League Cup last weekend, started brightly at Gerland stadium but Lyon had the first clear chance when Lisandro Lopez's near-post header was palmed away by Stephane Ruffier.
St Etienne were rewarded for their efforts just before the half-hour mark when Zouma headed home Yohan Mollo's corner kick.
The goal triggered some anger in the crowd and the game was held up for two minutes as flares were thrown in the stands.
Pierre-Emerick Aubameyang had a couple of great chances either side of the break but wasted them with weak shooting.
Lyon increased their pressure in the second half and deservedly drew level on 54 minutes when Gourcuff collected a clever back heel from Clement Grenier and hit a rising shot on the turn past Ruffier.
St Etienne continued to push for the win but Romain Hamouma's low shot was saved by Anthony Lopes, who was making his Ligue 1 debut after keeper Remy Vercoutre was ruled out for the rest of the season with a knee injury.
Gabon striker Aubameyang missed another opportunity in the last minute, smashing a header just wide.
Nice, meanwhile, came back from a goal down to earn a 3-1 home win against Troyes.
The struggling visitors took the lead on 21 minutes through Mohamed Yattara but Renato Civelli and Dario Cvitanich put the hosts ahead at the interval.
And Luigi Bruins made certain of three points to send Nice into sixth place 13 minutes from time, pushing bottom club Troyes ever closer to Ligue 2 football next season.
- Sports & Recreation
- Kurt Zouma
- Paris St Germain
- Olympique Marseille
- Lisandro Lopez