Defending champion Roger Federer's hopes of a ninth Wimbledon title are over after he let slip a two-set lead as he lost to No 8 seed Kevin Anderson in the quarter-finals.
The No 2 seed had looked set for a comfortable afternoon when he won the first two sets, the second on a tie-break.
But, Anderson, the 2017 US Open runner-up, rallied and fought back to level things before prevailing in a marathon final set to triumph 2-6, 6-7, 7-5, 6-4, 13-11.
Anderson, who won the Mubadala World Tennis Championship in Abu Dhabi in December, will face either Milos Raonic or John Isner for a place in Sunday's final.
Meanwhile, Novak Djokovic has continued his resurgence in the men's game by reaching the semi-finals.
The 12-time major winner defeated Kei Nishikori 6-3, 3-6, 6-2, 6-2 on Centre Court to set up a clash on Friday with either world No 1 Rafael Nadal or Juan Martin del Potro.
It will be the Serbian's first appearance in the last four at a grand slam since finishing as runner-up at the US Open in 2016.
Djokovic, who has not won a major in two years, has struggled with form and injury for the past 18 months and came into Wimbledon as the No 12 seed.
Djokovic is a three-time winner at Wimbledon, having won the title in 2011, 2014 and 2015.
This is his best run at Wimbledon since that 2015 success as he lost in the third round in 2016, and then retired hurt in the quarter-finals against Tomas Berdych 12 months ago.