World number one Roger Federer came from a set down to outclass Argentine sixth seed David Nalbandian 5-7, 6-2, 6-2 and book his place in the Monte Carlo Masters last four on Friday.
The Swiss top seed, who hit a string of outstanding winners in a first-rate match, next meets either Australian Open champion Novak Djokovic of Serbia or unheralded American Sam Querrey.
In a tense encounter, Federer converted all his five break chances to improve his personal record against Nalbandian to 9-8 after losing their two previous matches in the Madrid and Paris Masters last year.
Federer failed to create a single break chance in a balanced first set and Nalbandian stole his serve in the 11th game.
The Argentine wrapped the opener after 52 minutes when a sloppy Federer sent a backhand passing shot wide.
The world number one regained composure and after a trade of breaks, won four games in a row with some impressive shots, including a stunning drop shot on the run.
DAVYDENKO THROUGH
He broke again in the sixth game of the decider with a service return into Nalbandian's feet and sealed the win after two hours and seven minutes on the Argentine's serve with a forehand crosscourt winner.
Federer, who won the Estoril Open last weekend, has now won the eight matches he has played on clay this season.
Earlier, Nikolay Davydenko overcame a poor serving performance to beat fellow Russian Igor Andreev 6-3, 4-6, 7-5.
Davydenko, seeded fourth, will meet the winner of the all-Spanish clash between Masters Cup finalist David Ferrer and three-times defending champion Rafael Nadal.
"Maybe I was lucky (to win) this match," said Davydenko.
"I think Andreev changed his tactics, started to play the first few games really slow (in the second set) and try not to do anything, no winners, just, you know, try to keep the ball in the court. And I started to do mistake."
Both players struggled to hold serve throughout, with Andreev breaking seven times and Davydenko nine times.
Davydenko experienced little trouble taking the first set and though he broke three times in the second, only managed to hold serve once to let Andreev level the match.
Following two exchanges of breaks in the decider, Andreev squandered a 40-0 lead in the 12th game and bowed out when he sent a forehand long after two hours and 44 minutes.
More from rediff