Federer, an eight-time victor of his hometown event, was far from his best but managed to come back from a break down to win the first set in a tiebreaker on Friday.
Federer won his 20th straight match at the tournament and has played in 12 straight Basel finals.
Federer, 37, spent nearly 90 minutes less on court Saturday than Copil, who has had to come through six matches to reach his second career ATP final.
Earlier, Germany's world No.5 Alexander Zverev overpowered Spain's Roberto Bautista Agut to claim a straight sets 7-5, 6-3 victory for his place in the semi-finals.
The Swiss crowd favourite was never able to comfortably take command against an opponent whom he had defeated in their last six meetings.
"I'm very happy. I think it was my best performance this week", Federer said.
"But I kept my cool and got the job done".
Copil dropped to 0-2 in career finals, also losing this year in the championship match at Sofia.
"Maybe I had to win it through good returning, through fighting and all that stuff, so maybe differently than some of my past tournament victories", Federer said.
"It would be great to win my 99th career title here in Basel".
Wimbledon runner-up and world No 8 Anderson is having a career-best season and won his fourth career title.
The 20-time Grand Slam champion will have to re-group quickly for the semis, where he will play the victor from Greek breakthrough player Stefanos Tsitsipas and Daniil Medvedev.
Federer clinched minutes after saving a break point, taking his first match-point chance when Copil sent a backhand into the net.
He traded breaks with Federer before the local hero snaffled the tiebreak seven points to five.
The top-seeded Swiss rallied from trailing by a service break in each set against the 93rd-ranked Romanian, whose serve was measured at 243 kph (151 mph) in his opening service game. But Simon once again fought back to make it 4-all.
The third set looked like going Federer's way, with the seed breaking in the second game, but losing serve in the seventh.