Muguruza, seeded 14th, took advantage of a woeful performance from the Slovak world number 87 to secure her third Grand Slam final appearance.
The 23-year-old, beaten by Serena Williams in the 2015 Wimbledon final, will take on Britain's Johanna Konta or five-time champion Venus Williams in Saturday's title match.