The third-seeded del Potro trailed in the first set and in the tiebreaker, but rebounded both times to beat Richard Gasquet 7-5, 7-6 (7) on Wednesday.
"It wasn't easy to play for me today," said del Potro, who reached the China Open final last week. "I did what I can. I didn't run too much. But I think I played with all my strength in the important moment of the match.
"I would love to feel better," he added. "I have been talking with the doctors every day."
The fourth-seeded Zverev was also struggling with a cold, but he beat Nikoloz Basilashvili 7-5, 6-4.
Basilashvili arrived in Shanghai after beating del Potro in Beijing to win his second career title.
"I played an opponent who has a lot of confidence," Zverev said. "Obviously he's playing the best tennis of his life, winning in Beijing, and obviously he had a very good match yesterday, as well.
"He knows how to play, definitely. Probably the hardest-hitting player I have ever played against."
Zverev is playing in Shanghai without his coach, Ivan Lendl, who was in Beijing last week. Lendl flew back to the United States to have wrist surgery, which Zverev said was caused by playing too much golf. Lendl is due to return to the tour before the end of the season.
"We played here last year, and it was the place I got my first ATP win," Tsitsipas said. "I knew today was going to be a different match. I played every single point as if there was no tomorrow."