Top seed Mikhail Youzhny survived a mid-match crisis before booking his place in the semi-finals of the St Petersburg Open.
The Russian was broken three times by Spain's Guillermo Garcia-Lopez in the second set but hit back to win 6-3 0-6 6-3 and will now face Martin Klizan in the last four.
Youzhny, the 2004 champion and a two-time runner-up, managed only five points on his serve in the second set but recovered after an early break in the third and won four consecutive games for a 5-2 lead.
He landed a high volley down the line to earn two match points and wrapped up the victory with another volley at the net.
"If I cut off the second set, I can say that I'm satisfied with the level of my tennis and the result of the match," Youzhny said.
"The first set was a really tough one and my current physical form was not enough to play the whole match on a high level."
Slovakia's Klizan powered six aces past Ricardas Berankis of Lithuania on his way to a comfortable 6-3 6-2 victory.
Spain's Daniel Gimeno-Traver also moved into the last four with a routine straight-sets win over Flavio Cipolla.
The Italian put up little resistance in the first set and was unable to derail his opponent in the second, with Gimeno-Traver winning 6-2 7-5.
Italy's fourth seed Fabio Fognini beat Spain's Roberto Bautista-Agut 6-4 7-6 (7/1) in their quarter-final to set up a meeting with Gimeno-Traver at the next stage.