Federer eased through 6-2, 6-2 while holder Djokovic enjoyed a walkover when quarter-final opponent Mikhail Youzhny withdrew through illness.
Third seed Tomas Berdych, who finished runner-up to Djokovic in 2013, faces seventh seed Philipp Kohlschreiber in the other semi-final.
Berdych overcame fifth seed Jo-Wilfried Tsonga 6-4, 6-3 while Kohlschreiber beat Tunisian wildcard Malek Jaziri 6-2, 6-3.
Federer holds a 16-15 lead in head-to-head matches with Djokovic but the Serb has won their last three meetings, including their most recent match at the ATP World Tour Finals in London in November.
"We know each other very well, and we've played each other everywhere and on all the surfaces, you name it," Federer said.
"I think we always play the match-up actually very good, because we play explosive, aggressive tennis, so there is always some shot-making going on.
"I'm looking forward to the match. One match, best of three sets on a court like this, it's a bit of ‘let's see what happens', anyway. We both know that."
Federer started slowly against Rosol, the man who knocked Rafael Nadal out of the second round at Wimbledon in 2012, losing his opening service game for an early 0-2 deficit.
Any hopes of the Czech pulling off another huge shock were short-lived with the Swiss reeling off the next six games.
The second set started where the first ended with Federer breaking Rosol twice in his opening three service games as the 32-year-old comfortably reached his third semi-final in his three tournaments so far this season.
Image: Roger Federer
Photograph: Mark Kolbe/Getty Images
Take a look at how Russia rewards its athletes...
'I'm fulfilling my dreams further at Manchester United'
Wenger says too early to say English in European decline
Michael Schumacher's family says he will recover
Football's slumdog superstar!