Benneteau, who was 1-4 lifetime against Federer, came away a 6-3, 7-5 quarterfinal winner, ending Federer's hopes of repeated as the champion in Rotterdam.
Benneteau broke Federer's serve five times won nearly half of the points (33-36) when Federer served. Federer had an early first-set break but Benneteau had three breaks to take the set.
Benneteau moved out to a 4-1 lead in the second set before Federer pulled back to 5-5 and had a chance to break for a 6-5 lead. Benneteau, however, held and then finished the match with another break.
Second-seeded Juan Martin del Porto fired 10 aces and saved all three break points he faced in a 6-3, 6-4 win over Jarkko Nieminen. He'll go against Grigor Dimitrov in Saturday's semifinals. Dimitrov was a 6-7 (4-7), 7-6 (7-0), 6-3 winner over Marcos Baghdatis in a 2 1/2-hour match.
Benneteau's opponent Saturday will be fifth-seeded Gilles Simon, who rallied for a 6-7 (6-8), 6-3, 3-0 win over Martin Klizan when Klizan retired to end a long tense match.