Wildcard Coric, who stunned Rafa Nadal in Friday’s quarter-finals, was beaten 6-4 3-6 6-3 by the Belgian.
Goffin broke Coric in the seventh game to take a 4-3 lead and held his serve to take the first set after the Croat had saved one set point.
Having saved four break points in the opening game of the second set, Coric hit back to level the match, but his 42 unforced errors ultimately cost him and, although he saved three match points, Goffin’s greater experience proved decisive.
“I made a lot of mistakes on easy balls, but I’m really happy to win today,” said Goffin.
Coric’s compatriot Karlovic fired 33 aces but it was not enough to beat Federer, who reached the tournament final for the ninth year in a row.
The 33-year-old, playing in his home tournament which he has won five times, had to save two set points in an 18-point first set tie-break on his way to a 7-6(8) 3-6 6-3 win. (Reuters)