Spanish 10th seed Carla Suarez Navarro beat second seed Simona Halep in three sets to reach the Italian Open final.
Suarez Navarro won 2-6 6-3 7-5 for a fourth win out of four against the Romanian.
Although her backhand caused problems for Halep, Suarez Navarro needed seven set points to close out the second set and three to end the third.
She will face either two-time Rome champion Maria Sharapova or qualifier Daria Gavrilova in the decider.
If Sharapova reaches the final, she will be seeded second for the French Open which starts on 24 May.