The 20-year-old Shapovalov arrived after a good run on hard courts at the Miami Open, where he lost to Roger Federer in the semifinals.
But the Monte Carlo clay got the better of the big-hitting Canadian, seeded 15th. The unseeded German picked apart his serve, converting six of 16 break points.
Nadal has not played since pulling out of his semifinal against Federer at Indian Wells last month because of an injury to his right knee. Nadal said Monday he resumed practice two weeks ago and feels fit.
Goffin won 6-1, 6-4 against qualifier Guido Andreozzi, but Fognini had a tougher match.
The hot-tempered Italian player had the crowd on his side as he rallied to a 4-6, 7-5, 6-4 win against unseeded Russian Andrey Rublev.