Twelve months on from condemning four-time champion Rafael Nadal to his first loss in Paris, Soderling again unleashed his sledgehammer forehand to beat the world number one 3-6, 6-3, 7-5, 6-4 in the quarter-finals.
It was Federer's earliest Grand Slam exit in six years and Söderling's first triumph over the Swiss in 12 meetings, including the final here last year.
Söderling's win, achieved on a gloomy, wet evening in Paris, brought to an end Federer's record run of 23 successive Grand Slam semi-final appearances, stretching back to his third round defeat to Gustavo Kuerten here in 2004.
It also set up a semi-final clash against Tomas Berdych of the Czech Republic who eased past Mikhail Youzhny of Russia.
Federer, who saw 14 aces and 19 forehand winners from the Swede sap his spirit, said he had let his chances slip away, but paid tribute to his opponent.
"I'm disappointed to a certain degree. I didn't think I played a bad match so it's easier to go out this way," said Federer.
"The conditions were really rough, but he came up with some great tennis. In best of five set matches, you always get chances. I had those at 5-4 in the second set.
"But he kept on coming and played aggressive."
Söderling was delighted to have achieved a second successive French Open shock.
"I love playing on this court. I have been here for two weeks and have been playing better and better with each match," said the Swede.
"Today I played really well. It can't get much better than this to beat the world number one on this court."
The fifth seed added: "It's great to beat the world number one and the defending champion two years running here. I played great tennis even in the first set, I just didn't serve very well. The balls got heavier and these kind of conditions suit my game pretty well. I wanted to serve well and take the ball early."
"He had chances in the second set as well as the first. But I saved some big points and that was very important. I could relax and then I played better and better."
Federer swept through the first set with a crucial break in the eighth game, having surrendered just two points on his own serve.
But the Swede suddenly cranked up his response in the second, with regular repeat showings of the forehand devastation which stunned Nadal last year.
He broke to lead 2-0, shrugged off a double fault on a second set point before levelling the tie when Federer dumped a forehand into the net.
It was only the third set the Swede had taken off the world number one in 32 contested.
Söderling fought off a set point in the 10th game of the third set which was being played under heavy skies and incessant drizzle which became increasingly heavy.
Not surprisingly, play was suspended with Federer 30-15 ahead in the 11th game.
On the resumption, 75 minutes later, Söderling broke to lead 6-5 after a Federer double fault opened the door.
The 25-year-old Swede thought the set was his when a Federer forehand looked long, but the point was ordered to be replayed.
It didn't matter, however, as an 11th ace then thundered past the Swiss to give Söderling a two sets to one lead on the back of three times as many winners as the champion.
Federer broke to lead 2-1 in the fourth set, but Söderling returned the favour in the next game.
Federer was now under siege on Court Philippe Chatrier, having to fight off three break points in the seventh game before capitulating in the ninth to fall 5-4 down when a wild backhand sailed long and out.
Söderling then secured his famous win after 2hr 30min when Federer went long with a weary return.