Competing in her first WTA semifinal on Friday, Puig won four straight games down a break at 3-2 in the second set for a 7-5, 6-3 triumph - her eighth over a Top 50 player.
"It was a really tough match against Madison," Puig said. "I have a lot of respect for her. She's one of the up-and-comers, like me and a bunch of other girls. She's really aggressive and is always going for her shots. She has a really amazing serve. It was very tricky.
"I knew I had to grab the opportunity. If not, it would be gone and lost forever. It's happened on other occasions where I haven't taken advantage. I knew once I had it in my hands, I couldn't afford to let it go. I'm really happy with the way I fought and was able to put negative moments behind me and focus on what I had to do next."
Yet to drop a set this week, Puig will square off with Sílvia Soler-Espinosa on Saturday.
"One of my goals is to win a WTA event," Puig said. "I'm really close to it. It has been a difficult beginning to the year. To see how I've progressed in Rome last week and how I'm playing this week is just amazing. I'm really happy with the work I've been doing with my new coach, and I can see that the results are starting to pay off already."
Spanish qualifier Soler-Espinosa rallied from a set and 5-3 down for a 5-7, 7-6(7), 6-3 victory over Christina McHale. Not only that, but she had a match point against her at 6-5 in the second set and was down 5-1 in the second set tie-break. The second set alone lasted an hour and 18 minutes and the match ran two hours and 46 minutes. Like Puig, this will be Soler-Espinosa's first WTA final, and she will be Strasbourg's first qualifier in the final since Karolina Sprem in 2003.
"I've been fighting for this moment for 26 years," Soler-Espinosa said. "I'm really happy and excited."
In Puig and Soler-Espinosa's one previous encounter, Puig was a 6-2, 5-7, 6-4 winner in the second round of Wimbledon last year.