World number 20 Fognini was on the verge of succumbing to a huge shock at the hands of 17-year-old home favourite Borna Coric, who won the first set 7-5 and then forced a tie-break in the second.
However, Fognini battled back against the teenager ranked some 210 places below him to win the second set 7-6 (7-4), before enjoying a slightly more comfortable decider, taking it 6-3.
The Italian - a beaten finalist at the ATP 250 clay-court event last year - laid down a marker immediately in the third set, breaking Coric in the very first game.
Coric broke straight back, although Fognini never looked back after securing the double break and remains on course to go one better than last year.
Facing Fognini in the semi-finals will be Pablo Cuevas, who saw off Teymuraz Gabashvili 6-3 4-6 6-2.
The Uruguayan claimed the crucial break in game four of the opening set, although Gabashvili levelled with three breaks of his own in the second.
The deciding set belonged to Cuevas, however, as the world number 60 sent down three aces and won 77 per cent of points on his first serve on his way to victory.
Meanwhile, reigning champion Tommy Robredo had little trouble in overcoming Pablo Carreno-Busta 6-1 6-4 in an all-Spanish affair.
The second seed was dominant in the opening set, winning 88 per cent of points on his first serve and breaking his opponent three times.
Carreno-Busta hit back early in the second set, breaking Robredo in the first game, but Robredo reeled off three straight games from 4-3 down to seal his place in the last four.
There he will play world number 22 Marin Cilic, who breezed past Lukas Rosol with consummate ease.
The Croat was in fine form in the opener, thumping down five aces to Rosol's none, breaking him on each occasion to storm ahead.
Rosol did at least get on the board in the second set, but it was not enough to halt the charge of Cilic, who wrapped up a 6-0 6-2 victory in just over an hour.