Sharapova, who missed the 2016 tournament because of a doping ban and last year after she was refused a wild card, was broken six times, committed 27 unforced errors and won just five points on her own serve in the second set. It was just her fifth loss in 25 Grand Slam quarter-finals.
Muguruza pounced on an error-plagued Sharapova start to lead 4-0 with a double break. Sharapova never recovered from serving up three double faults in the first game.
By the end of the first set, the five-time major winner had won just eight points against the Muguruza serve and failed to carve out a single break point.
Muguruza only hit five winners in the opener which was more than enough against the erratic Russian who reached the quarter-finals for the first time in three years when old rival Serena Williams handed her an injury-enforced walkover.
Sharapova, 31, was broken in the opening game of the second set which she immediately retrieved.
However, it was just a brief respite as 24-year-old Wimbledon champion Muguruza claimed a quick double break for 4-1, backed up by a hold for 5-1.
It was all over in the next game when Sharapova sent another backhand out wide.
In Thursday’s other semi-final, US Open champion Sloane Stephens will take on fellow American Madison Keys in a repeat of the 2017 final at Flushing Meadows.