The Italian dominated proceedings at the ATP 250 event and sealed his place in the final with a 6-1 6-4 victory over the former grand slam winner.
Berrettini took a 5-0 lead in the opening set and never allowed his opponent to establish a foothold in the match as he sealed the deal in 78 minutes.
"I'm really happy with my performance," said Berrettini after the match.
"I knew that I had to play my best tennis to beat him. I think my game in general was working pretty well. I was serving well, returning well. I was being aggressive. I don't think I gave him the time to play his game and that was the key today."
"Obviously, the more you play, the more you feel better," added the 2018 Swiss Open champion.
"I think today was my best match of the week, obviously against a great player. I knew that I had to play at this level to beat him.
"I started way better. The approach was better, the attitude was better, the energy was better. I really enjoyed it."
Berrettini has won his two previous tournaments in Stuttgart and Queen's Club, meaning he is now on a 12-match unbeaten run since returning to action from his hand injury.
For Thiem, the semi-final run in Gstaad represents his first major run at an ATP event since returning from injury.
The 17-time Tour titlist is looking to regain his best form since coming back to competitive tennis in March following a nine-month layoff due to his wrist injury.
Victories in Switzerland over Hugo Gaston, Federico Delbonis and Juan Pablo Varillas have lifted the 28-year-old 77 spots in the ranking, up to 197th.