Reigning champion Johanna Larsson will face Katerina Siniakova in the Ericsson Open semi-finals after the home favourite beat fourth seed Annika Beck 7-5 6-1.
Larsson's victory in Bastad last year was her only WTA Tour title to date and she fought admirably to continue her defence despite being broken in her opening two service games.
Siniakova has never won a singles title, but the 20-year-old is just two victories away from a maiden triumph after dumping out second seed Sara Errani 7-6 (7-2) 6-3.
Errani had not dropped a set in the tournament before facing qualifier Siniakova, but the world number 25 was sent tumbling out after being broken six times by the Czech outsider.
Germany's Laura Siegemund was another straight-sets winner as she proved too strong for Lara Arruabarrena.
The world number 40 triumphed 7-5 6-3, with the first set seeing seven breaks of serve.
Finally, Julia Goerges fought back from a set down to beat Karin Knapp 4-6 6-2 6-3 and will now meet sixth seed Siegemund.