By
The 19-year-old Shapovalov, regarded as one of the brightest stars on the ATP Tour and ranked at 43 in the world, fired 29 winners past Edmund, a surprise semi-finalist at the Australian Open in January.
Shapovalov, who had never won a clay-court match on the main tour before Madrid, will be playing in his second Masters semi-final where he will on Saturday face either John Isner or Alexander Zverev.