Last season's runners-up stole victory at Guingamp last weekend and were held at home by Lorient in their first league game, and they fell behind to a Pedro Henrique goal after just eight minutes at the Stade Gerland.Â
Hubert Fournier's men swiftly levelled thanks to Nabil Fekir's deflected effort after good work from new signing Rafael da Silva.
But Rennes secured back-to-back wins thanks to Zeffane's 56th-minute strike.
After challenging PSG for the majority of last season before finishing second, Lyon will be concerned by their sluggish start to the new campaign which has already seen them fall five points adrift of the champions, who maintained their 100% record by beating Montpellier 1-0 on Friday night.
Philippe Montanier's Rennes -- who had won only one of their last nine matches at Lyon -- were coming off the back of a 1-0 victory over Montpellier and Henrique got them off to the perfect start here.
The Brazilian frontman was assisted by Zeffane before producing a neat finish past Anthony Lopes in the Lyon goal.
But seven-time champions Lyon -- who beat Rennes 2-0 in this fixture last season -- were level after 12 minutes when ex-Manchester United man Rafael played in Fekir and the 22-year-old French international's shot took a slight deflection to deceive goalkeeper Benoit Costil.
The hosts did the double over the Brittany club last season but Rennes were determined to gain a measure of revenge.
Algerian international winger Zeffane cut inside from the left wing before planting a firm right-foot finish past Lopes after 56 minutes.
That was to prove enough for Rennes who continue their encouraging start to the new season, they have six points from a possible nine after their first win at the Stade Gerland since November 2011.