Nadal was at risk of losing the top spot to Novak Djokovic if he failed to reach the semifinals of this clay-court tournament, which the Spaniard has won five of the last six years.
Djokovic also reached the last four, extending his winning streak to 37 matches with a 6-3, 6-0 victory over fifth-seeded Robin Soderling. Djokovic has won all 35 of his matches this year, trailing only John McEnroe's 42-0 start in 1984.
Djokovic's semifinal opponent will be fourth-ranked Andy Murray, who overcame a slow start to beat Germany's Florian Mayer 1-6, 6-1, 6-1 and become the first British man to reach the Rome semifinals since 1932. The tournament is an important warm-up for the French Open, which starts in nine days.
Nadal played much sharper than in his previous two matches when he was weakened by a virus. His semifinal opponent will be 16th-seeded Richard Gasquet, who rallied past seventh-seeded Tomas Berdych 4-6, 6-2, 6-4 a day after eliminating Roger Federer.
Nadal didn't face any break points on another clear day at Foro Italico.
"Yesterday all afternoon I had a fever but at the end of the day I started to feel better," Nadal said. "I started the match with [more] intensity and I was able to move faster and play more with my legs."
If Nadal and Djokovic reach the final, it will mark the fourth time this year they meet with a title on the line. Djokovic won in Indian Wells, Miami and last weekend in Madrid, where he beat Nadal on clay for the first time.
Among the women, top-ranked Caroline Wozniacki defeated two-time Rome champion Jelena Jankovic 6-3, 1-6, 6-3 and will next face seventh-seeded Maria Sharapova, who advanced when Victoria Azarenka retired with an apparent right arm injury.
The third-seeded Azarenka won the first set 6-4 and then summoned a trainer to the court for treatment after losing the first game of the second set. She winced and bent over in pain during the next two games before retiring.
Stosur got a measure of revenge on Francesca Schiavone by beating the Italian 6-2, 6-4 in a rematch of last year's Roland Garros final. Stosur never dropped serve and faced only one break point.
The crowd of 10,500 cheered loudly each time Schiavone held serve, but Stosur's play kept fans in check.
"Of course, I would rather win [the French Open], but I am happy to be here and be in the semis," Stosur said. "I think I played really well today, and I do not think she played her best but that is because I played well and she could not find anything to do against me.
"Perhaps she was a little bit more nervous with the crowd behind and it made it a little bit more difficult with the expectations of flying high," she said.
Murray also showed good clay-court form in Monte Carlo last month, taking a set off Nadal in the semifinals.
"If I want to get to No. 1 in the world then you need to play well on all of the surfaces because Roger, Rafa and Novak -- they all play well on all the courts," Murray said. "I need to improve my game on the surface and it's been better this year."
The last British man to reach the semifinals at this event was George Patrick Hughes in 1932. The last British player to win the title was Virginia Wade in 1971. Hughes was the only British man to win the tournament (1931).
"When we walk to the practice court they have a list of all of the winners down the wall and there is a lot of great players," Murray said. "It is nice and I want to try and go further."