The World No.5 got even with Fognini, who last year knocked him out in the second round of the tournament, to win in 1 hour and 48 minutes on Friday, reports Efe.
In 2014, Nadal fell in the quarter-finals to compatriot Nicolas Almagro.
The eight-time champion of Barcelona is vying for more trophies after winning last week's Monte Carlo Masters.
Nadal is going to meet the winner of the encounter between German Philipp Kohlschreiber and Russian Andrey Kuznetsov.
Earlier on Friday, two-time defending champion Kei Nishikori qualified for the semi-finals after beating 11th-seeded Alexandr Dolgopolov 7-5, 6-0.
The second-seeded Japanese will face Benoit Paire, who landed for the first time in the Barcelona Open semi-finals by defeating Tunisian Malek Jaziri 3-6, 7-5, 6-1 in two hours in a tough match. (IANS)