Ten-man Lyon cement top spot against rivals
Ten minutes after the visitors had Mouhamadou Dabo sent off for head-butting Max Gradel, second-half substitute Bastos found the back of the net with a powerful 20-metre free-kick to put Lyon on 34 points from 16 games.
They lead second-placed Paris Saint-Germain, who thrashed Evian Thonon Gaillard 4-0 on Saturday, by five points.
Olympique Marseille, who slumped to a 3-0 home defeat by Lorient on Sunday, are third, also five points off the pace.
Saint-Etienne, who were too shy until Bastos's 65th-minute goal, remain fourth on 26 points, still looking for their first home win in all competitions against Lyon since 1994.
But Les Verts had victory in sight after Dabo was shown a straight red card for head-butting Gradel in the chest 10 minutes into the second half.
With the creative Yoann Gourcuff and Steed Malbranque, Lyon had the upper hand in midfield and dominated the early stages although the St Etienne defence, well marshalled by Moustapha Bayal, held firm.
Lyon had to cope without offensive midfielder Clement Grenier, who limped off the pitch with a thigh injury and was replaced by Gueida Fofana after 11 minutes.
The visitors had the first clear chance when Anthony Reveillere, set up by Bafetimbi Gomis, flicked the ball past Stephane Ruffier but his effort went just wide.
Lyon's hopes took a major blow in the 55th minute when Dabo reacted angrily after being fouled by Gradel and was sent off by referee Tony Chapron for head-butting the Ivory Coast forward in the chest.
Lyon coach Remi Garde replaced Gourcuff with winger Bastos who made an immediate impact.
Saint-Etienne also finished with 10 men after Alejandro Alonso was sent off in the 84th minute for picking up two yellow cards in the space of two minutes after coming off the bench.
Earlier, Olympique Marseille had Charles Kabore sent off in the first half as they slumped to a humiliating home defeat by Lorient.
Things went wrong for Marseille after Kabore was dismissed in the 38th minute, earning a second yellow card for fouling Jeremie Aliadiere to concede a penalty.
The former Arsenal forward converted the spot-kick by wrong footing Steve Mandanda.
Lorient doubled their lead three minutes into the second half with Benjamin Corgnet flicking the ball past Mandanda from an Alain Traore cross.
Marseille twice went close to reducing the arrears but Fabien Audard denied Souleymane Diawara and Loic Remy with superb saves.
Kevin Monnet-Pacquet put the game beyond the home side's reach in the 69th minute with a fine low shot from just inside the box.
Lorient moved up to eighth on 24 points.
Earlier on Sunday, sixth-placed Girondins Bordeaux drew 0-0 at Stade Reims.