The Frenchman broke Berdych in the fifth game of the first set, but the match looked certain to go to a third set when Berdych secured an early break in the second and raced to 4-1.
But Simon secured two successive breaks of serve as he pressured Berdych's backhand and clinched the match with an ace, after Berdych saved one match point with an excellent backhand volley at the net.
"I'm happy to play well here because it's a tournament I love," Simon said after reaching the last four for the first time. "I grew up not far from here and I always used to watch the tournament. I've always wanted to do well."
Simon, who is ranked 20th, plays eighth-seeded Janko Tipsarevic or Polish qualifier Jerzy Janowicz in the last four. Their quarterfinal was late Friday. Also, fourth-seeded David Ferrer was playing No. 6 Jo-Wilfried Tsonga, and Frenchman Michael Llodra took on big-serving American Sam Querrey.
Simon, meanwhile, improved to 5-2 in career matches against Berdych.
"Tomas is a player I know well, who has a lot of weapons in his game but who has trouble getting winners against me because he plays very quickly all the time," Simon said. "I felt good and made very few unforced errors. He really had to do all the work to win the points."
Berdych, the 2005 Paris Masters champion, thinks Simon — who reached a career high ranking of sixth in January 2009 — is close to being back to his best level.
"He played well, no question about it," Berdych said. "I haven't seen him play that well for quite a long time. I mean, then it wouldn't be possible that he's the (ranking) place that he is right now."
The momentum started to shift back in Simon's favour after he saved three more break points in the fourth game, preventing Berdych from going 4-0 up.
"I think that was pretty much the key of the second set, maybe of the whole match," said Berdych, who converted only one of his 10 break point chances. "Defensive(ly), I think he's one of the best, you know, moving and defending his half of the court."
Berdych missed another chance in the 10th game when Simon trailed 0-40 as he served for the match.
"He didn't serve like that whole match, and then he comes up almost with three aces," Berdych said. "It was just too good."