Haas saved four match points before sending a backhand wide to send Fognini into his third semifinal of the year. He lost the previous two, in Acapulco and Monte Carlo.
"It's my second semifinal in Stuttgart, maybe I can go all the way," Fognini said. "I just played my tennis and it worked for me."
Haas, at 35 the oldest player in the top 100, said Fognini played better on the key points.
"I had five break points in the second set and if you don't use them you can't win," Haas said.
It's the first time Hanescu has made it into the last four of a tournament since Nice in 2001. He now has a 4-0 record against Paire, all on clay.