Roger Federer produced an imperious performance to end Novak Djokovic's 28 match winning streak on Chinese soil and claim a place in the final of the Shanghai Masters tournament Saturday.