The fifth-seeded Spaniard, with a display of powerful serving and opportunistic returns, did not face a break point against Fognini and put his opponent's serve under pressure throughout the 90-minute match.
Nadal raced through the first set in 26 minutes, losing only four points on serve while Fognini made 14 unforced errors.
The Italian came to life in the second set, including a stretch where he erased five break points during his first two service games.
But at 5-5, just when it looked as if Fognini might force a decisive third set, he double faulted and Nadal got his break before sealing the match four points later.
Nadal, who has never who won the Miami title, will face the winner of Friday's second semi-final between twice champion Federer, the fourth seed, and the 12th-seeded Australian Nick Kyrgios.
Federer made a stunning return from a six-month injury layoff to win the Australian Open in January, and also beat Nadal in the last 16 at Indian Wells en route to winning a record-tying fifth title there
Read the original article on Eurosport: Nadal downs Fognini to reach fifth Miami final