The second-seeded Seppi advanced after Horacio Zeballos retired while trailing 6-5 in the first set. The Argentine had two set points at 5-4.
Seppi will play against fifth-seeded Tommy Robredo from Spain, who needed five match points to defeat Slovenia's Aljaz Bedene 6-1, 6-4.
Robredo has lost only 13 games in three matches so far in Umag.
Fognini, seeded No 3, defeated Martin Klizan of Slovakia 6-4, 6-2 for his 12th consecutive singles victory and his third semi-final at Umag.
Fognini won four consecutive games after trailing 3-1 in the first set. Another four-game run in the second set at 1-1 set up the victory.
"I played much better than on the first day, I felt great," Fognini said. "My game really works good at the moment. Still, the top 10 is not my goal now, it is a long road. I just entered the top 20."
Fognini will face Gael Monfils of France, who needed 2 hours, 16 minutes to defeat Spain's Albert Montanes 6-2, 5-7, 7-5. Monfils had a chance to finish the match in straight sets when leading 5-3 in the second set, but he lost four games in a row.
"I got a bit tight when I served for the match at 5-4 in the second set. I should have been more aggressive," Monfils said.
"I am very pleased with this, I've never beaten Albert on clay before. It was good clay-court match. I could have served better and surely it might be improved tomorrow."
Results from the fifth day of the Croatia Open on Friday (x denotes seeding):
Gael Monfils (FRA) bt Albert Montanes (ESP) 6-2, 5-7, 7-5
Fabio Fognini (ITA x3) bt Martin Klizan (SVK x6) 6-4, 6-2
Andreas Seppi (ITA x2) bt Horacio Zeballos (ARG) 6-5 - retired
Tommy Robredo (ESP x5) bt Aljaz Bedene (SLO) 6-1, 6-4