The world number three was too strong for her Spanish opponent and secured a 7-6 7-6 victory.
Pliskova has enjoyed a great start to the season, winning two titles already, but was pushed all the way in her quarter-final match.
Both players struggled with their serves but Pliskova dominated the first-set tie-break.
She then served for the match on two occasions in the second set but Muguruza dug deep to force the match into another tie-break.
Pliskova eventually held on and claimed the victory on her third match point and the 24-year-old will now take on Svetlana Kuznetsova.
The Russian beat Anastasia Pavlyuchenko 6-3 6-2 to reach the final four at Indian Wells for the first time since 2008.