Defending champion Andy Murray and world number two Novak Djokovic also posted quarter-final wins to complete the all-star quartet but it was the possibility of a Nadal-Federer final that had tennis fans buzzing at the end of riveting day of action on the Canadian hardcourts.
Playing in his first event since winning Wimbledon last month, Nadal has at times appeared to still be in holiday mode, and the Spaniard was again slow out of the blocks against Philipp Kohlschreiber rallying for a nervy 3-6, 6-3, 6-4 win.
While Nadal could not have expected such a punishing workout from the 37th ranked German, who has just one win over a top 10 ranked opponent this season, Federer stepped onto centre court knowing the giant challenge that awaited him and responded with an inspired 6-3, 5-7, 7-6 victory over Berdych.
The towering 1.96 metres Czech has had Federer's measure this season beating the Swiss twice, including an upset win in the quarter-finals at Wimbledon.
"It's sort of hard to put a rank on it, but it's nice always winning matches 7-6 in the third," Federer told reporters.
"Today I just think I had a good start to the match, had chances in the second and then it was just kind of one of those matches I thought was going to slip away again like at the beginning of the season.
"But I was able to turn it around. It was definitely huge at this point," he added.
Berdych had looked poised to continue his winning sequence over Federer when he stormed to a 5-2 lead in the third but a relentless Federer refused to fold, finally getting the break he needed with Berdych serving for the match at 5-3.
With a breathless centre court crowd on its feet, there was more drama to come during a pulsating tiebreak that saw Federer jump ahead 4-0 then grimly hang to clinch the victory 7-5 when Berdych sent a return into the net.
Murray, who must at least reach Sunday's final to keep his number four ranking, produced his best effort of the week, easing to a 6-2, 6-2 victory over red-hot David Nalbandian, ending the Argentine's 11-match winning streak.
Djokovic, the Canadian champion in 2007, also had smooth passage into the last four beating France's Jeremy Chardy 6-2, 6-3.
Rescue ops intensify in Leh; 132 dead, 600 missing
Bopanna-Qureshi stun Bryan brothers in quarters
Pennetta upsets injured Stosur at San Diego
Kashmir remains calm; curfew relaxed
Pak seeks voice samples of 26/11 suspects