Williams eventually turned what started as a closely-fought contest into a one-sided romp as she beat the frustrated German 7-5 6-0.
The American will go for her third title in four years when she meets third seed Angelique Kerber in the final on Sunday.
"Andrea and I both had really long matches yesterday, so I was just hoping to come out again today with fresh legs, and just try to do the best I could out there," said Williams, who survived a tough three-setter to beat Ana Ivanovic in the quarters on Friday.
"My body feels great. I'm just really excited to be in the finals of Stanford again. I love playing in California. I'm a Californian girl."
Asked what had been going through her mind at 5-5 in the first set, she said: "I just had to step up my game because Andrea was playing so well.
"She was doing everything right. I had to either play better or be down a set. I just started making my shots and got into a rhythm a little better. Everything just started to come together for me towards the end."
Williams, winner of 60 WTA titles, is playing her first event since a surprise third round loss to Alize Cornet at Wimbledon in June.
Petkovic beat Venus Williams in the quarters, and was hoping to become just the ninth player to beat the two sisters in the same year.
German Kerber returned from the brink of defeat to beat unseeded Uzbekistan-born American Varvara Lepchenko 4-6 7-6(4) 6-2 in the other semi-final.
Lepchenko served for the match at 5-3 in the second set, but was broken before losing the tiebreak.
It was all Kerber in the third set as she broke Lepchenko twice to prevail in two hours and 39 minutes.
- Sports & Recreation
- Angelique Kerber
- Venus Williams