Our compatriot had been thrashed by Grigor Dimitrov two days ago and appeared to be feeling the effects of that mauling as he went 3-0 down with a whimper. However, he soon came back to life, winning 15 points in a row during a first-set comeback.
Dominic Thiem looked disinterested at the start of the second set and quickly went 4-1 down. There was some brief resistance in a 10-minute sixth game but Goffin held and claimed victory on his second match point with a searing backhand winner.
A scrappy contest saw Thiem rack up 27 unforced errors to Goffin's 20, with the combined winner count only 21.
Goffin's victory means three of the four players who had qualified for the elite tournament for the first time have progressed from the round-robin stage. The other semi-final will pit Dimitrov against American Jack Sock.