Nadal outclassed the former top-ranked Russian almost from the start and remains on track to meet Novak Djokovic in Sunday's final. Djokovic defeated Fernando Verdasco of Spain 6-3, 1-6, 6-1.
"I think I played a really good match," Nadal said. "I'm happy about my level."
Safin has said he will retire at the end of this season, and he thanked the fans in Beijing for their support after losing to Nadal.
"I haven't been practicing for a long time and I can still hit some balls so it's a really nice feeling to get on the court," said Safin, who won the inaugural China Open title in 2004.
On Saturday, Nadal will face Marin Cilic of Croatia, who defeated Nikolay Davydenko of Russia 6-4, 6-4.
Djokovic was broken by Verdasco three times in the second set, but the fourth-ranked Serb regained his form in the third set and took advantage of his Spanish opponent's 19 unforced errors in the match.
"I had ups and downs in today's match," Djokovic said. "Verdasco used his chances in the second set when he broke.
"I saved energy at the end of the second set for the refreshing start of the third and I was fortunate to do so."
Djokovic will next face Robin Soderling of Sweden, who beat Ivan Ljubicic of Croatia 7-6 (3), 6-4.
Svetlana Kuznetsova of Russia became the first woman to qualify for the semifinals, beating Anastasia Pavlyuchenkova of Russia 6-3, 6-3.
Kuznetsova faced little challenge against Pavlyuchenkova, who eliminated Venus Williams from the tournament this week.
Kuznetsova will next face Nadia Petrova of Russia, who defeated Peng Shuai of China 6-7 (5), 6-3, 6-2.
"I'm very happy to get through even though I didn't really start out playing well, but I really picked it up by the second and third sets," said Petrova, who eliminated Serena Williams in three sets on Thursday. "It's always difficult to come out the next following day and put on the same performance."
Agnieszka Radwanska of Poland advanced by beating fourth-seeded Elena Dementieva of Russia 7-5, 6-3. She will meet either Marion Bartoli of France or Vera Zvonareva of Russia in the semifinals.