By Toby Prince
The 43rd-ranked Italian won 2-6, 6-4, 6-4 in the U.S. Open semi-final match played at the Arthur Ashe Stadium in New York.
Vinci had never won a set off the 21-time major champion in four previous meetings and was in her first career Grand Slam semi-final at age 32.
Williams became more and more frustrated by Vinci’s defence and creative shot-making in the final two sets.
The American had won in three sets 11 times in majors this year in her pursuit of the first calendar year Grand Slam since Steffi Graf in 1988, but was unable to dig out of this hole.
She was also denied the chance to match Graf’s Open Era record of 22 career Slam titles.
An elated Vinci called the victory the best moment of her life.
“It’s amazing, like a dream,” an emotional Vinci said in her on-court interview. “I’m in the final. I beat Serena. For me, it’s an amazing moment, incredible, yes.
“For the American people, for Serena, for the Grand Slam, today’s my day. Sorry, guys.”
Serena, the world No. 1 and the heavy favourite to win the U.S. Open, was visibly upset.
“I thought she played the best tennis in her career,” Williams said. “You know, she’s 33, and you know, she’s going for it at a late age. So that’s good for her to keep going for it and playing so well.
“Actually, I guess it’s inspiring. But, yeah, I think she played literally out of her mind.”
Vinci will play No. 26 seed Flavia Pennetta of Italy in the final.
Earlier in the day, Pennetta upset second-seeded Simona Halep of Romania 6-1, 6-3.
Saturday’s championship match will be the first all-Italian women’s Grand Slam final in the Open Era.