The American, who won the pair's only previous meeting, maintained the upper hand throughout the first set. Wawrinka succeeded in breaking his opponent's serve once - aided by errors on the part of Fish - but conceded the set 6-3 in just over half an hour.
Wawrinka staged a decisive comeback in the second set, establishing a 4-1 lead before Fish fought his way back and brought the set to tie-break, which the Austrian won 10-8.
What appeared to be a tight encounter was confounded in the final set as Fish put away his opponent 6-0 to move into the final four.
The sixth seed now faces Janko Tipsarevic in the semi-finals after the Serb beat Tomas Berdych in straight sets.