Isner defeated world No. 1 Novak Djokovic  for the second time in five career meetings 7-6 (7-5), 3-6, 7-5.
This is one of nine Masters series event on the tennis calendar each year and Djokovic has won the title in each of the other eight. He has lost in the finals of this tournament four times and his bid to complete a career Masters sweep was again foiled.
Isner will take on Juan Martin Del Potro in the semifinals after Del Potro defeated Dmitry Tursunov 6-4, 3-6, 6-1.
Nadal and Federer met for the 31st time in their historic careers with Nadal now holding a 21-10 advantage thanks to a 5-7, 6-4, 6-3 decision. Nadal has won all three of their matches this year.
Nadal's semifinal opponent will be Tomas Berdych, who ousted No. 2 seed Andy Murray 6-3, 6-4.