The American, who won three qualifying matches to reach the main draw and hadn't beaten a top-50 player before the event, will face the fourth-seeded Andrea Petkovic of Germany in Sunday's final.
Petkovic, who beat Grace Min of the United States 4-6, 6-2, 6-4 in the first semifinal that was interrupted by rain for 1½ hours, won the first of her three career titles here in 2009. Petkovic and Rogers have not played each other before.
Rogers, who is from South Carolina, saved four set points against the 14th-ranked Errani before converting her fifth chance in the tiebreaker of the opening set. In the second set, Rogers came back from a break down and closed out the win with a backhand winner on her first match point.
Errani, who won the doubles at Wimbledon last week and was looking to reach her third singles final of the year and first since losing to Serena Williams in Rome in May, criticized the humid conditions on the clay court.
After slipping and losing the point at 10-10 in the tiebreaker, Errani talked with WTA supervisor Martina Lutkova who judged the conditions were okay for play to continue. Errani, who was seeded second, had already been unhappy after Friday's quarterfinals, comparing the center court to "a swimming pool."
Petkovic reached her second final of the season after winning in Charleston in April.
The 20th-ranked German broke Min's serve twice coming from 5-1 down in the opening set but then lost her serve at 5-4. The German used three more breaks in the second to level the match.
Petkovic broke Min again at 3-3 in the final set and missed one match point on the American's serve before closing out the match in the next game.
The 138th-ranked Min had not been beyond the second round of a WTA event before. The American had drawn top-seeded Flavia Pennetta in the opening round but the Italian pulled out injured shortly before the match.