Hon ledde med 4–2 i andra set när Badosa stod för en mäktig upphämtning och vann sex game på raken. Men den oseedade slovenskan gav inte upp. Hon räddade tre breakbollar vid ställning 6–6 och avgjorde sedan med ett kraftigt forehandslag.
I semifinalen ställs hon mot ryskan Anastasija Pavljutjenkova som besegrade ukrainskan Jelena Rybakina med 2–1 i set.
Ett efterlängtat avancemang för 29-åringen som inte lyckats ta sig till en grand slam-semifinal på 51 tidigare försök.
– Tack till alla som kom hit och hejade på mig, tack till mitt team, ni är fantastiska. Tack till alla där hemma, säger slovenskan.
32-rankade Pavljutjenkova förlorade första set mot sin dubbelpartner med 6–7, men vann de två kommande med 6–2 och 9–7.
KLIPP: Djokovic vände 0-2 mot 19-årig sensation (7 juni)