The world number one fought hard to claim a 7-6 6-4 victory this morning.
After an early exchange that remained on serve, Williams served for the set at 5-4 in the opener, but the Pole fought back to take a 6-5 lead, only to be beaten comfortably in the tie-break.
In the second set Radwanska started well, going a break up and causing Williams problems with her movement. She was pegged back, though, to make it 4-4.
The world number four then had two break points on the Williams serve, but missed her chances before being broken herself to lose the second set 6-4.
Williams will play Sorana Cirstea in the final.