Williams was in danger of falling two breaks down early in the third set but righted her game to collect a 6-1, 3-6, 6-3 victory over Svetlana Kuznetsova.
Williams controlled the first set but Kuznetsova, after treatment for an abdominal injury between sets, won the next four games and took a 1-5 lead in the second before handing Williams her first set loss of the tournament.
Kuznetsova was up 0-2 and had three break opportunities in the third game before Williams held in a 14-point game. That was the first of five straight games won by Williams, who closed the match with back-to-back winners.
Williams extended her match winning streak to 29 and is 41-2 on the year. She is 7-2 versus Kuznetsova, who last beat Williams in the quarterfinals en route to the 2009 French Open title.
Errani, the No. 5 seed and the runner-up to Maria Sharapova in last year's French Open, defeated fourth-seeded Agnieszka Radwanska 6-4, 7-6 (8-6). After both players suffered breaks at love to start the match, Errani grabbed the advantage in the first set with a seventh-game break.
They traded a series of breaks in the second set -- each player lost serve four times in the set -- but both held to get to the tiebreaker. Neither player had more than a one-point edge in the tiebreak until a Radwanska backhand went wide to end a long rally and allow Errani to advance.
Williams is 5-0 all-time versus Errani and is in a Grand Slam semifinal for a 22nd time. Errani is in her third major tournament semi. Her first was last year's French Open.
Kim Kardashian, Kanye West reportedly set wedding date
Millions of Getty images now available for free via embed tool