The second-seeded Federer dropped his serve in the first game of the match but broke the 30th-seeded Benneteau four times.
The 17-time Grand Slam champion, who won his only title at Roland Garros in 2009, next plays 15th-seeded Gilles Simon.
Benneteau, who won the first two sets before losing to Federer in the third round at Wimbledon last year, was hindered by a groin problem and struggled to move freely.
"He had to totally change up his game because of his leg. That was my feeling, anyway," Federer said. "I could tell right away after a game or two that it wasn't the same Benneteau across the net."
Federer broke straight back to 2-2, when Benneteau double-faulted. In the eighth game, Benneteau winced after reaching for a forehand and squatted down, almost on one knee.
"He beat me at Rotterdam this year and he was incredibly ready at Wimbledon," said Federer, who improved to 5-2 against Benneteau. "But he wasn't in the best of form today, and you could see that he was a bit hindered by the leg problem he's had for the past couple of days."
Federer next plays another Frenchman after Simon beat Sam Querrey of the United States 2-6, 6-3, 2-6, 7-6 (2), 6-2.
He leads Simon 3-2, winning their only match on clay in the third round of the Rome Masters in May.
"He defeated me twice. It was always difficult to play against him," said Federer, who lost his first two career matches against Simon. "So I suppose it's going to be the same."