Del Potro, of Argentina, moved on to the semifinals with a 6-4, 6-4 win over John Isner of the United States.
The 6-foot-6 Del Potro is trying for his fourth straight title.
Serbia's Viktor Troicki knocked Roddick out of the tournament. Troicki was blitzed in the opening set but came back strong to beat the American 0-6, 6-2, 6-4.
German Tommy Haas was a 7-5, 6-1 winner over Columbian Alejandro Falla and Russia's Igor Kunitsyn topped qualifier Somdev Dewarman of India 6-4, 6-1.
Del Potro goes against Haas and Troicki meets Kunitsyn in the semis.