The 29th-seeded Stephens, won, 3-6, 7-5, 6-4, rallying from a set and a break down against an injured and angry Williams.
Stephens had calmed her nerves and started swinging harder and lifting her tempo at 4-3 in the second set. That's when Williams jarred her back trying to pull up before the net as she chased down a drop shot. Williams let out a loud scream and hopped away as Stephens shot a concerned look back over the net.
Williams started taking time between points, limping, and trying to stay in the shade at the back of the court.
Williams later called for the trainer between games. She had a three-minute medical timeout and came back serving at a pace well below her usual speed.
"Well, at that point you just have to pretend like nothing's wrong," Williams said after the match. "You think of worst-case scenarios. You know, I just thought, 'OK, just pretend nothing's wrong and just try your best.' "
Stephen's surprise win did instant wonders for her celebrity.
Before the match, Stephens said she had about 17,000 followers on Twitter. A few hours after reaching the win, she had more than 40,000.
She gushed about receiving a congratulatory tweet from singer John Legend.
"I want John Legend to sing at my wedding!" she said. "I was like, 'Oh my God. He tweeted me. What can I do?' "
Stephens checked her phone during her post-match news conference and said there were 213 text messages waiting for her.
The quick turnaround between matches makes it difficult for Stephens' family to make it to Australia for her semifinal.
"I'm kind of upset my mom's not here, and my brother," she said. "I know definitely everyone's watching back home and is very proud of me, so [I'll] just do my best and make them happy."
In Thursday's semi, Stephens will face defending champion Victoria Azarenka, who beat Svetlana Kuznetsova, 7-5, 6-1, in the previous match in Rod Laver Arena.
The other semifinal will be between No. 2-ranked Maria Sharapova and No. 6 Li Na, the 2011 French Open champion.
On the men's side, top-ranked Novak Djokovic will continue his bid for a third consecutive Australian title Thursday when he takes on No. 4 David Ferrer. No. 2 Roger Federer and No. 3 Andy Murray will meet Friday.