Fognini is one win away from the first title of his career. He advanced to the third final of his career and the first this season.
He is the second Italian to reach the final of the clay-court tournament since Andrea Gaudenzi in 1994.
Fognini will play either Philipp Kohlschreiber of Germany or Victor Hanescu of Romania.
Results from the sixth day of the ATP Stuttgart Open (x denotes seeding):
Fabio Fognini (ITA x5) bt Roberto Bautista (ESP) 6-1, 6-3
Philipp Kohlschreiber (GER x2) bt Victor Hanescu (ROM) 6-3, 6-3