The No. 1-ranked Nadal, who is 0-3 in Key Biscayne finals, needs one more win to get there again. His opponent Friday night will be No. 7-seeded Tomas Berdych, who advanced by beating No. 22 Alexandr Dolgopolov 6-4, 7-6 (3).
Nadal has beaten Berdych 16 times in a row over the past seven years.
"This tournament is a tournament where I really feel the love of the people so much," Nadal said, "so I'm going to try my best to keep playing well."
Three-time champion Novak Djokovic will play in the other semifinal Friday against No. 20-seeded Kei Nishikori, who eliminated Roger Federer on Wednesday.