Williams, seeded third, won this tournament in 1999. She next faces second-seeded Ana Ivanovic, who defeated Czech teenager Petra Kvitova 6-1, 6-4.
Flavia Pennetta of Italy and Anabel Medina Garrigues of Spain also advanced and will meet in the semifinals Saturday. Pennetta was coming off an upset of top-ranked Jelena Jankovic.
Williams improved to 5-0 against Schiavone, a semifinalist last year.
"She is a good competitor,'' Williams said. "She went for a lot out there today, sometimes maybe a little too much. I think I played more consistent than in my first match.''
After trading five straight breaks, Williams served at 5-3 and held to love to win the first set. When she faced three break points while up 4-3 in the second set, Williams reeled off two service winners, a forehand volley at the net and two aces to win the game and soon the match.
Ivanovic reached her first semifinal since winning the French Open in June. Injuries have limited her to seven wins since. The Serb has a 1-4 record against Williams, but beat the American in their last match in the Australian Open quarterfinals.
Pennetta defeated Slovenia's Katarina Srebotnik 7-5, 6-2. A two-time winner on tour this year, Penetta broke Srebotnik at 5-5 with a backhand service return, then converted her first set point with an ace. She then broke Srebotnik to open the second set, again in the seventh game, and sealed the win with a backhand.
Medina Garrigues advanced when Victoria Azarenka of Belarus retired with a shoulder injury after they split the first two sets 4-6, 6-3.
Pennetta beats Srebotnik to reach Zurich semis
De La Red: Sanctions Will Not Affect This Saturday