Badosa, rated fourth in the world, came back twice from a break down in the first set to advance to the final four, where she will face seventh-seeded Daria Kasatkina, a 4-6, 7-5, 6-0 winner over fourth-seeded Aryna Sabalenka.
Gauff, an 18-year-old who reached her first Grand Slam final this year at the French Open, was coming off a thrilling win over four-time Grand Slam champion Naomi Osaka on Thursday night.
The sixth-seeded American appeared to be riding the energy of her previous victory, as she emerged from a three-break serve exchange with a 3-2 lead in the first set on her way to a 5-3 victory.
Gauff unravelled as she served for the set after Badosa held serve, blasting three double faults to lost her serve as they went to tiebreaker, which Gauff surrendered with another pair of double faults.
Badosa raced to a 5-1 lead and served out the match with confidence two games later, looking nervous as she dropped her opening service game of the second set.
“It’s never easy to get off to a good start against such an aggressive guy with a huge serve,” Badosa said. “I think I adapted fairly well at the end of the first set, and I played a really beautiful tiebreak,” she says.