Down a break and trailing 5-2 in the second set in Beijing, Dimitrov produced some of his best tennis to reel off the next five games for his second straight-sets victory over the big-serving Argentine this year.
The Bulgarian, who prevailed when the pair met on Cincinnati's hard courts in August, improved his head-to-head record against Del Potro to 2-5 and stayed in the hunt for a place in the season-ending ATP Tour Finals in London next month.
ATP Monte Carlo
'He’s got no manners' - Evans slams 'embarrassing' Musetti
Earlier, Nick Kyrgios came from a set down to beat Mischa Zverev 3-6 6-2 6-2. The Australian unleashed 11 aces in the match lasting an hour and 22 minutes.
"I knew it was going to be tricky. He plays a pretty old school type of tennis..likes to come forward and play his style of tennis and he's had good success with it," Kyrgios said.
"I knew I had to find my feet and improve my first serve percentage in the second and third sets... just loosen up from the back to keep things on my terms. That's how it played out."
Up next for Kyrgios is Steve Darcis of Belgium, who overcame Serbia's Dusan Lajovic 6-3 6-4. Spain's Roberto Bautista Agut went through after Great Britain's Aljaz Bedene lost 10 games in a row before retiring with a knee problem.
Give Benoit Paire a break - men's tennis is desperate for characters
Murray defends Olympic title in emotional win over Del Potro in 2016