Reigning Olympic champion Puig stunned Garcia 7-5 1-6 6-2 in New Haven to advance to her first semi-final of the season.
A hip injury has hampered Puig but the 24-year-old will now face Carla Suarez Navarro in the final four of the tournament.
Suarez Navarro moved through to the next round after third seed Kvitova retired because of a shoulder injury.
Kvitova took a medical timeout after losing the first set 6-3 and she was unable to continue against the Spaniard.
Julia Goerges and Aryna Sabalenka will contest the other semi-final at the Connecticut Open.
German No.5 seed Goerges defeated Ekaterina Makarova 6-4 6-2 thanks to 29 winners, while Sabalenka topped Belinda Bencic 6-3 6-2.