The Czech, who defeated an ailing Daniil Medvedev 6-1, 6-4 earlier, will now play world number one Jannik Sinner in the semi-finals.
After neither player was able to break the serve of the other, Machac defeated Alcaraz in a fiercely contested first-set tiebreak.
#machac