The visitors struggled after the early setback and only managed to avoid falling further behind before the break thanks to an impressive Stephane Ruffier save from Simon Kjaer's header.
Max Gradel's dangerous free kick almost produced an equaliser for Saint-Etienne late in the first half, but Franck Tabanou could only head wide after finding room in a crowded box.
Ruffier was called into action to deny Kjaer once again early in the second half as the Danish defender watched his swerving free kick force the goalkeeper into another save.
Despite being pushed back by Lille for long spells, Saint-Etienne equalised on the hour mark when Tabanou delivered a cross for Gradel, who did what his teammate couldn't in the first half by heading home.
Lille were gifted the chance to restore their advantage when Ruffier brought down Frey in the box, but the goalkeeper quickly made up for his mistake by getting a strong hand on Divock Origi's penalty.