The seven-times champion has struggled for anything like his best form at Roland Garros, having gone into the tournament with six titles from eight events this season, and he battled for two hours and 45 minutes for a 7-6 (7/5), 6-4, 6-4 win.
Nadal, pictured below, complained bitterly on Friday about the schedule after his second-round match was delayed, and he will be very happy to have a day off before a fourth-round meeting with Kei Nishikori tomorrow.
After dropping the opening set against both Daniel Brands and Martin Klizan, Nadal twice found himself a break down to Fognini, a flashy Italian who mixes blistering winners with baffling mistakes.
Having broken for 3-2, 27th seed Fognini then gave the advantage back three games later with a smash way over the baseline and a tame forehand.
Nadal had three chances to win the set with his opponent serving at 4-5 but could not take any of them, and Fognini promptly broke again, only to make a mess of serving for the set.
It was a match without any rhythm or predictability but it was Nadal who just edged the tie-break despite one incredible retrieved lob from Fognini.
The Spaniard’s extra reliability, even though he was far from his best, meant he never really seemed in any danger of losing the match but it was a real struggle.
A break in the second set was enough for Nadal but Fognini really should have levelled at 5-5, the Italian missing three break points, including one sitter of a putaway.
Nadal looked like he would finally pull away in the third set when he led 5-2, only to be broken to love serving for the match. He made no mistake second time around but serious questions about his form remain.
Both players made a host of unforced errors – 59 for Fognini and 40 for Nadal – and the man hoping to take advantage in the last 16 will be Nishikori.
The 13th seed became the first Japanese man to reach the fourth round here for 75 years with a four-set win over France’s Benoit Paire earlier.