Roger Federer halted Novak Djokovic’s 28-match unbeaten run in China as the Swiss defeated the world No1 to book a place in the final of the Shanghai Masters. Federer, seeded third, defeated his Serbian rival 6-4, 6-4 in an hour and 35 minutes to line up a meeting with Gilles Simon of France in Sunday’s final.