Makarova, seeded fourth, got by Kimiko Date-Krumm 6-2, 4-6, 6-4, overcoming an early third-set break to advance. Makarova won barely half the points (44-of-86) on serve and lost her serve seven times.
Both games she lost in the first set were on breaks and Date-Krumm had a 2-1 break advantage in the second set to even the match. But Makarova piled up three breaks in five receiving games in the final set for the win.
Three seeded players were ousted, leaving Makarova the lone seed to reach the semifinals.
Karolina Pliskova won nearly three-quarters of the points in the third set of a 1-6, 7-6 (7-3), 6-0 upset of No. 3-seeded Sorana Cirstea. Julia Goerges got by fifth-seeded Elena Vesnina 5-7, 7-3, 6-3 behind a 17-ace attack and Andrea Hlavackova took out No. 8-seed Peng Shuai 6-2, 7-5.
Makarova goes against Hlavackova in Saturday's semifinals. Makarova won the only previous meeting between the two, taking a 6-1, 6-2 decision in 2005. The other semi will be the first match between Goerges and Pliskova.