The fourth-seeded Spadea rallied for a 6-7, (5-7), 6-3, 6-4 triumph over his fellow American Saturday night.
Spadea will try for his first ATP career title, going against Germany's Nicolas Kiefer, who advanced with a 4-6, 7-5, 6-4 win over Romania's Victor Hanescu.
The win was the biggest for Spadea since he upset another U.S. star, Andre Agassi, at the 1999 Australian Open.
"Looking back, I haven't been back since 1999, so it's a great relief now to be able to know I'm still there and contending for titles when I play well and have my mind into it," he said. "I can't cherish it yet, I have to focus on tomorrow (Sunday)."