Söderling, the fifth-seeded Swede, broke Russian Mikhail Youzhny six times in a 6-1, 6-4 victory, dropping only five points on his first serve.
Söderling reached his second straight Masters 1000 semi-final, following up on his trip to the final four at Indian Wells where he lost to American Andy Roddick.
"I played really well from the back of the court," Söderling said. "I was moving well and didn't miss much. But I didn't serve quite the way I wanted to. I served really well the past three matches here, but today it wasn't so good. Hopefully I can improve on that tomorrow."
In Berdych he'll meet a player who managed to build on the momentum of his fourth-round upset of world number one Roger Federer.
Berdych rallied for a gritty 4-6, 7-6 (7/5), 6-4 victory over Spain's Fernando Verdasco.
The match, lasting nearly three hours, was a contrast to their clash at Indian Wells, where Berdych made short work of Verdasco.
"It was a great match, definitely," Berdych said of a contest in which each player saved seven of nine break points faced. The Czech won just one more point than Verdasco.
Berdych admitted his marathon win over Federer had left him with a bit of a hangover - that he was able to shake off in time.
"The beginning for me was a little bit slow, because I was still feeling a little bit tired after the long, long match against Roger," he said.
"But then finally I get the rhythm, start to play really well. I think the beginning of the third set Fernando was a little bit struggling. He was maybe a little bit tired. But that was my advantage."
Söderling said he was looking forward to the clash with Berdych.
"We always had good matches," he said. "He's a great player. He played really well now in the past couple of weeks. He's definitely in good form. I really have to play well."
The other men's semi-final has already been set, between world number four Rafael Nadal and Roddick.