Brest goalkeeper Alexis Thebaux kept out efforts from forwards Alexandre Lacazette and Lisandrop Lopez and from center half Dejan Lovren, while Lyon winger Jimmy Briand hit the crossbar in a one-sided first half.
Brest forward Eden Ben Basat looked sharp but hardly received any service.
Gomis finally broke the deadlock in the 57th minute when he ran onto midfielder Steed Malbranque's clever pass and lobbed Thebaux for his fifth league goal of the season.
Lopez missed a late chance to make it 2-0 after shooting wide when under pressure from two defenders.
Lyon is two points ahead of fourth-place Toulouse, and one point behind Marseille and provisional leader Paris Saint-Germain. But Marseille would move three points ahead of PSG and four clear of Lyon with a win away at Troyes later Sunday.
Earlier, Ajaccio drew 0-0 with Bastia in an ill-tempered Corsican derby which saw both sides finish with 10 men and opposing fans fighting in the stands.
In a game of few chances, Ajaccio had the better opportunities and veteran Romania forward Adrian Mutu hit the post just before halftime after being set up by strike partner Eduardo. Moments earlier, Ajaccio midfielder Johan Cavalli's deflected shot was cleared off the line.
Bastia forward Anthony Modeste went close with a header early in the second half, before Ajaccio defender Carl Medjani also saw his header hacked off the line.
With 10 minutes remaining, Cavalli was embroiled in a tussle with Bastia midfielder Gael Angoula and players from both teams joined in the melee. Both players were sent off and the incident triggered some fighting between rival supporters and some flares were also let off.
Cavalli said he had made peace with Angoula.
"You shouldn't make too much of it," he said. "Gael Angoula and I spoke to each other afterward. The incident is over."