Top seeds Rafael Nadal and Roger Federer remain on course to meet in Shanghai after reaching the last four.
World number one Nadal beat Grigor Dimitrov 6-4 6-7 (4-7) 6-4 to register his 15th consecutive win and will face fourth seed Marin Cilic in the semis.
Federer will play Juan Martin del Potro in the second semi-final on Saturday – if the Argentine is fit enough to play.
Del Potro overcame a wrist injury to beat Viktor Troicki 4-6 6-1 6-4, while Federer beat Richard Gasquet 7-5 6-4.
It was revealed Del Potro had suffered a “wrist contusion”, and the 16th seed will decide on Saturday morning whether he is able to face Federer.
Briton Jamie Murray and Brazil’s Bruno Soares reached the doubles semi-finals with a 6-1 7-6 (8-6) victory over Raven Klaasen and Rajeev Ram.
Victory ensured the pair, who have won two Grand Slams and six titles together, qualified for the ATP World Tour Finals in London next month.
Top seed Nadal is chasing a tour-leading seventh title this season, and beat Bulgaria’s Dimitrov for the second time in a week following his semi-final victory at the China Open.
The Spaniard, 31, breezed through the first set but was unable to break Dimitrov in the second, and the Bulgarian was strong in the tie-break to force a deciding set.
Dimitrov, ranked eighth in the world, had break point early in the third set, but Nadal saved it with a backhand volley before winning three consecutive games.
World number five Cilic secured his place in the semi-finals with a routine victory over Spain’s Albert Ramos-Vinolas.
The Croat, who has yet to drop a set in this year’s tournament, served 10 aces as he registered a 6-3 6-4 win.
There was a worry for Del Potro midway through the third set of his match when he slipped backwards and appeared to jar his left wrist.
The 29-year-old has had three operations on the wrist, missing 11 months of tennis, and at first appeared unable to hold his racquet properly.
However, he recovered to take Troicki to deuce – courtesy of two big forehands – and ultimately break his serve, before holding to love in the next game.
Del Potro was seen by the physio twice and went to hospital for a scan following his victory.
Doctors put on a splint but ruled out any serious problems, according to Del Potro’s communications manager.
The Argentine will face Federer, whom he beat in the quarter-finals of the US Open last month, after the Swiss managed to outmuscle France’s Gasquet in an entertaining match.
Federer took some time to find his rhythm, particularly on serve, but managed to seal victory in one hour and 19 minutes.