STUTTGART, Germany -- Marta Kostyuk's resilient week continues at the Porsche Tennis Grand Prix. The 27th-ranked Ukrainian scored her second straight Top 10 win on Friday night by defeating World No.3 Coco Gauff 3-6, 6-4, 7-6(6) to make her third straight semifinal of the season. 

Kostyuk's road to the semifinals has been equal parts physically and mentally grueling. She needed over three hours to beat Laura Siegemund in the first round and saved five match points to best Australian Open finalist Zheng Qinwen in the Round of 16.

Kostyuk is in the midst of the best season of her career, enjoying a new level of consistency after making her first major quarterfinal in January. It began with a run to the San Diego final, followed by her first WTA 1000 semifinal at Indian Wells. After skipping Miami, Kostyuk has now posted her first two Top 10 wins of the year in Stuttgart. 

"Well, definitely means a lot, because to be consistent in tennis, it takes a lot of work and a lot of discipline," Kostyuk said. "Everything around you has to work really well."

"So I'm glad with how we're kind of keeping it together, and in the same time I didn't even know it's my third semifinal, third straight semifinal, because I take every match by match. I don't focus on the result."

How the match was won: Friday's showdown was a rematch of the Australian Open quarterfinal, which saw Gauff battle through to a 7-6(6) 6-7(3) 6-2 win to make her first Melbourne semifinal.

Gauff took the opening set after 36 minutes by taking advantage of a slow serving start from Kostyuk, who landed just 33 percent of first serves. The American led 4-2 in the second and looked primed to power through and seal a straight-set win, but this time Kostyuk came charging back.

Serving at 4-3, 15-30, Gauff struck a double fault to give Kostyuk a chance to level, which she converted. With Gauff's first-serve percentage dropping and Kostyuk finding more consistency in her aggressive ball striking, the Ukrainian swept the final games of the set to force a decider.

After losing five straight games to drop the second set and staring down break points for a 2-0 deficit in the third, Gauff righted the ship. Serving down 1-0, 0-40, she recalibrated her forehand and found her first serve to save all three break points to subdue Kostyuk's surge. 

Turning point: Kostyuk suddenly found herself down 3-1. But with neither player serving with authority, holds of serve were at a premium. Kostyuk powered back and continued to pressure the Gauff serve. In total, Kostyuk generated 21 break points on the American and was more successful as the aggressor. Kostyuk fired 35 winners to Gauff's 21 in the match. 

The match would end on a dramatic note. Serving down 5-4, Gauff gamely saved three match points to hold. In the tiebreak, Kostyuk nearly let a 6-2 lead slip away. Gauff saved a total of seven match points before Kostyuk finally sealed the win after 2 hours and 48 minutes.  

Kostyuk's take: "Was a very intense match," Kostyuk said. "From the beginning of the match, I think I was really off. I couldn't find a way to, like, put myself together really.

"Then slowly she made some unforced errors in the second set, and I just kind of got it back and I had some chances in the beginning of the third, which I didn't use. It was a bit of a roller coaster, but a really incredible ending, definitely."

Next up: Looking ahead to Saturday, Kostyuk will face Wimbledon champion and No.8 Marketa Vondrousova for a spot in her second final of the year. Vondrousova advanced to her first semifinal of the season after coming from a set down to stop No.2 Aryna Sabalenka, 3-6, 6-3, 7-5.