Klara Zakopalova who had little trouble eliminating Dutch hope Richel Hogenkamp 6-2, 6-3.
Williams broke her opponent's serve three times in each set and was never in trouble on her way into the final four.
"My opponent today was playing really well, so I had to be patient and stay out there as long as I could," Williams said.
"I'm getting more used to the clay again. It feels a little better now. I want to play two more matches and win on the last day, but I have a really tough opponent coming up."
Williams leads Zakopalova in their head-to-head, 3-1, but while the American won their first two meetings handily during the 2003 season, they went 1-1 in their last two meetings during the 2009 clay court season, Zakopalova winning in the first round of Marbella and Williams winning in the first round of the French Open.
"Well, she's the best player in the world," Zakopalova said.
"I played against her four or five times before, so I know how she plays, but she's even more experienced now, and she has won so many Grand Slams, so she's really the best.
"I know some things, though. I have to move her as much as I can. My serve has to be more solid than it has been. I have nothing to lose."
The second semi-final will pit home favourite Johanna Larsson against Italian Flavia Pennetta after both players won their quarter-final matches in straight sets.
The 24-year-old Larsson, who is looking for her first WTA singles' title, dropped just three games on the way to a 6-1, 6-2 thrashing of Frenchwoman Mathilde Johansson.
Pennetta who reached the fourth round at Wimbledon, and had a career high world ranking of 10 in 2009, also made short work of her French opponent with a 6-1, 6-3 victory over veteran Virginie Razzano.
The 31-year-old from Brindisi won the doubles titles in Sweden along with Gisela Dulko in 2009 and 2010 as she chases her first single's title at Bastad and 10th WTA victory.
Pennetta and Dulko also teamed up to win the Australian Open doubles' crown in 2011.