The 17-year-old Coric, already being called ‘Baby Djokovic’ because of similarities with world number one Novak Djokovic, gave an off-colour Nadal a torrid time, winning 6-2 7-6 (4).
The Spaniard, who has appendicitis and later announced he would not play at the Paris Masters next week or season-ending ATP World Tour Finals in London next month, was unrecognizable in the first set as he offered little resistance, losing the opening five games.
Nadal’s timing improved marginally in the second but twice Coric served to stay in the set and he then held his nerve when a loose forehand from his opponent gave him two match points.
Coric needed only one of them, forcing a weary Nadal to send a defensive forehand wide.
Top seed Federer, looking for a sixth Basel title, beat Bulgaria’s Grigor Dimitrov 7-6 (4) 6-2 in a much more even contest.
The world number two edged a first set lasting nearly an hour and then turned up the heat as he marched to victory.
Federer faces big-serving Ivo Karlovic in the semi-finals after the Croat beat Germany’s Benjamin Becker 6-4 6-4 with the help of 19 aces.
Should Federer, 33, win the title on Sunday he would move to within 500 points of Djokovic and keep alive his hopes of returning to the top of the rankings.
Coric will play in-form Belgian David Goffin who caused a surprise by beating Canada’s Milos Raonic in three sets. (Reuters)