World number one Victoria Azarenka repeated her Australian Open triumph over Maria Sharapova to reach her first US Open final.
The Melbourne victory, which gave Azarenka her first grand slam title, had been one-sided as the Belarusian lost only three games but this was a titanic struggle between two of women's tennis' biggest fighters.
Azarenka finally came out on top 3-6 6-2 6-4 after two hours and 42 minutes and will meet either Serena Williams or French Open finalist Sara Errani in the final.
The 23-year-old said: "I was just trying to grab the first opportunity that I had. Maria is such a great player. I knew she would come out firing and she did. I tried to find my rhythm and just fight.
"I tried to give whatever it takes. I knew my opponent was going to play hard so I had to play harder. I gave it my all. I guess it worked. It's my first final and I'm so excited."