Both players failed to convert a break point, with Goffin withstanding 10 aces from his Canadian opponent in a tense encounter which lasted nearly two hours.
But Goffin won six of the first seven points in the first-set tiebreak and the first six points of the second-set tiebreak to gain unassailable leads against Shapovalov.
Auger-Aliassime and Pospisil send Canada to Davis Cup final with win over Italy
Third seed Goffin, the 2017 Tokyo champion, has reached his seventh Tour-level quarter-final of the season and will meet South Korea's Chung Hyeon.
"He was serving really well and I knew it'd be long sets with some tiebreaks," Goffin said.
"I tried to break him during the whole match... I didn't, but I served really well. I'm really happy about my performance because it was a good fight."
Chung fired 11 aces and won 90% of his first-serve points to overcome Croatia's Marin Cilic 6-4 3-6 6-1. The 23-year-old denied Cilic his 500th tour-level win in the process.
Alcaraz crashes out in Astana first round after falling to lucky loser Goffin
'It was a great level' - Medvedev impresses to set up quarter-final clash with Fritz
Share this article