Top seed Williams needed just an hour to see off her Romanian opponent, breaking twice in each set and saving the only break point she faced.
Both players had first-serve percentages at under 40%, but Williams' second serve proved more than enough to dispatch Cirstea.
Next up for for Williams is a date with her unheralded compatriot Vandeweghe, who won here first ever semi-final on tour, 6-2 3-6 6-2 against fifth seed Yanina Wickmayer.
The 21-year-old broke in the Belgian's first service game and strolled through the first set, before Wickmayer stormed back in the second.
But Vandeweghe, ranked 120th in the world, again got an early break in the third and held on to seal victory.