The Swiss needed 2½ hours Friday to finally break his opponent's resistance as he claimed his 18th successive win at the tournament, which he is aiming to win for the ninth time.
There was an early warning when Simon broke in the second game and raced to a 5-2 lead. World No. 3 Federer fought back to 5-5, then saved a set point in the 12th game before winning 7-1 in the tiebreak.
The second set produced five breaks of serve -- three to Simon and two to Federer -- before the Frenchman, ranked 32nd, held serve in the 10th game to level the match at 1-1.
Federer broke in the second game of the final set, but Simon refused to give in and replied in the seventh. He finally lost his nerve in the final game when two unforced errors in a row handed Federer the match.
"I knew it was going to be difficult. ... I was a bit unsure of my serve and his return is excellent," Federer said.
Qualifier Marius Copil, who beat third seed Marin Cilic in the second round, continued his run with a 7-6 (6) 7-5 win over American Taylor Fritz. Still to drop a set, the Romanian hit 18 aces and saved 10 of the 11 break points he faced in a match lasting nearly two hours.