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.