Defending champion Novak Djokovic was delighted with the way he took David Goffin apart to reach the last four at SW19.
David Goffin was a break up in the first set but Novak Djokovic won 10 games in a row to take charge and never looked back.
Kyle Edmund let a two-set lead slip against Fernando Verdasco, while Stan Wawrinka also lost as Wimbledon champion Novak Djokovic advanced.
David Goffin wilted in the second set and Roger Federer took advantage, easing to his 102nd tour-level title.
Roger Federer is one win away from a 10th Halle title and will face David Goffin in Sunday's final.
Roberto Bautista Agut put up a strong fight, but Roger Federer moved a step closer to a 10th title in Halle.
Felix Auger-Aliassime will battle with compatriot Milos Raonic for a place in the final of the Stuttgart Open.
Alexander Zverev is 165 places above Dustin Brown in the rankings, but lost to his compatriot on home soil in Stuttgart.
Making his grass-court debut on the ATP Tour, Canadian teenager Felix Auger-Aliassime was far too good for Ernests Gulbis.
David Goffin showed great spirit to take a set off Rafael Nadal, but the Spaniard felt he played "perfectly" at the start.