No. 1-ranked Nadal, in his first tournament since losing the Australian Open final, played his best match in Brazil and will face fellow Spaniard Pablo Andujar in the semifinals. Andjuar ripped through Tommy Robredo of Spain 6-1, 6-1.
In the other semifinal, second-seeded David Ferrer will meet unseeded Alexandr Dolgopolov. Ferrer defeated Thomaz Bellucci of Brazil 4-6, 6-3, 6-3 and Dolgopolov of Ukraine advanced against third-seeded Fabio Fognini 6-1, 6-1.
Ferrer has won 21 ATP singles title and will be the favorite to reach the final on Sunday against Nadal with 61 titles including 13 Grand Slams.
"I think I have improved in everything," Nadal said. "I think I played a complete match. I had my best game of the tournament, and not just that but I played at a very high level. Really, I did things I wasn't able to do a few days ago. I moved better. I was more intense, more aggressive."
Asked about the back, Nadal backed off.
"We're not going to talk every day about the back," he said. "I'm in the semifinals."
Nadal tweaked his back warming up for the final in Melbourne, eventually losing to Stanislas Wawrinka in a match he was favoured to win. He took several weeks off and is using Rio to tune up for three months of clay-court play leading to the French Open.
Ferrer and Bellucci had to wait for more than an hour with the Spaniard leading 2-1 in the third set when the lights went out at the outdoor stadium.
"It was really tough," Ferrer said. "When the match was stopped it was practically in my hands. It was bad luck with what happened with the lights."
Dolgopolov was asked if he planned to return to Ukraine, perhaps pulling out of the tournament to go to a country bordering on civil war.
"I don't think it's going to change a lot at this point if I just finished playing and come back to my country," said Dolgopolov, who lives in the wealthy European enclave of Monte Carlo. "It's still going to be the same situation. I will just be closer. But I am not considering that at this moment."
Zakopalova will face Brazilian Teliana Pereira, who defeated Irina-Camelia Begu of Romania 6-4, 6-4.
Pereira is a home favorite and the first Brazilian woman in 23 years to crack the WTA top 100.
"She (Zakopalova) is the favorite, the top-seeded player," Pereira said. "I have to play like I did today and keep my good rhythm. But I have a lot of confidence and I will have the Brazilian fans behind me."
Brazil's most famous female player is still Maria Bueno, who won seven Grand Slam singles titles, the last in the 1966 US Open.
Zakopalova will be looking for her third WTA singles title. None of the other semifinalists has won a WTA singles title.
Japan's Kurumi Nara also advanced. She won the first set 7-6 (5), and was leading the second 2-0 when Spain's Lourdes Dominguez Lino withdrew with a left leg injury. She will face Nastassja Burnett of Italy, who defeated Paula Ormaechea of Argentina 5-7, 6-2, 7-5.