(CNN) -- Sweden's Robin Soderling ended world number one Roger Federer's defense of his French Open crown after a rain-affected four-set victory at Roland Garros.
Soderling had never beaten Federer in their 12 previous meetings but battled back from a set down to record a 3-6 6-3 7-5 6-4 triumph in just under three hours.
Federer's defeat ended his incredible run of reaching 23 Grand Slam semifinals in a row, and he could lose his world number one status by the end of the tournament if Rafael Nadal regains the French Open title.
Fifth seed Soderling looked to be heading for another defeat as Federer took the opening set in just over half an hour after breaking in the eighth game.
But Soderling rallied superbly in the second to win the first three games and close out the set.
The third went with serve until 5-5 when the players were forced off due to rain but when they returned Soderling broke Federer thanks to a fierce forehand winner. He then held serve to take the set.
Federer grabbed an early break in the fourth set but Soderling hit back to level at 2-2, before breaking again in the eighth game. He then served out the match to seal his place in the final four.
After the game Soderling told reporters: "First set he [Federer] played well, and I didn't serve too well, and he had some chances in the second set and I saved a couple of really important points.
"I think when I won the second set, which was a very big thing, I felt I could relax. After that I think I started to play better.
"I always believe that I can win. This is a big win but it's not the final and I don't want to celebrate too much, I want to focus on the next game."
Soderling will play Czech Tomas Berdych in the semifinals after the 15th seed thumped Mikhail Youzhny, from Russia, 6-3 6-1 6-2.