The Puerto Rican edged a close match 7-6 (12/10) 7-5 in two hours and 26 minutes, but she needed seven match points to get over the line.
Puig had come from a bagel set down to defeat the Australian Open champion 0-6 6-4 6-4 in the second round at the Miami Open in March and the 24-year-old repeated the dose with a forehand winner to set up a clash against home favourite Wang Qiang, who defeated Daria Gavrilova in straight sets, in an all-unseeded battle.
Two-time grand slam winner Garbine Muguruza crashed to a 7-6 (7/3) 7-6 (7/1) loss at the hands of world number 47 Katerina Siniakova.
The 24-year-old earned set point in the opener, only to drop serve and go to a tie-break which Siniakova won.
Both players broke each other four times to force another tie-break, but the Czech player stormed to victory to reach her first quarter-final since May.
Ashleigh Barty - runner-up in 2017 - is back in the quarter-finals after a 7-5 6-1 win over Wimbledon champion Angelique Kerber.
From 5-2 up in the opener, Barty survived a spirited fightback from Kerber and won eight of the last nine games to seal a straight-sets victory.
Unseeded Anastasia Pavlyuchenkova came from a set down to defeat two-time Wuhan champion Petra Kvitova 3-6 6-3 6-3.
Anett Kontaveit needed three sets to see off China's Shuai Zhang 6-4 4-6 6-1, Dominika Cibulkova defeated Daria Kasatkina 6-3 7-6 (7/3) and Aryna Sabalenka beat Sofia Kenin 6-3 6-3.
Margarita Gasparyan continued her comeback with an impressive win over Tatjana Maria at the Tashkent Open, to reach her first WTA quarter-final in almost two years.
Gasparyan battled back from 0-4 down in the deciding set but sealed a 6-2 3-6 7-6 (7/2) victory in two hours and 10 minutes.
Gasparyan's doubles partner Anastasia Potapova is also through after a 6-3 6-3 success against Olga Danilovic.
Second seed Vera Lapko progressed to the last eight with a 6-2 6-4 win over Ivana Jorovic and will face Mona Barthel following her 7-5 4-6 6-4 victory against Evgeniya Rodina.
Kateryna Kozlova, who defeated top seed Irina-Camelia Begu in the first round, continued her good form with a 7-5 6-4 triumph over Fiona Ferro, while Fanny Stoller beat Vera Zvonareva 7-6 (7/2) 6-4.
Anna Karolina Schmiedlova defeated Nao Hibino 7-6 (7/5) 6-4 and Dalila Jakupovic completed the quarter-final line-up with a 6-1 7-6 (8/6) win against Arantxa Rus.