Kei Nishikori survived three match points and produced a thrilling comeback to beat South Africa's Kevin Anderson 2-6, 6-4, 7-6 (8-6) to reach the semifinals of the Geveva Open on Thursday.