Ons Jabeur reached the semi-finals of the Italian Open on Friday after bouncing back from being a game away from defeat to beat Maria Sakkari 1-6, 7-5, 6-1.
Tunisian Jabeur made history last weekend by winning in Madrid to become the first Arab or African player to claim a WTA 1000 title and let out a roar of delight after a magnificent win in Rome.
The 27-year-old looked certain to be heading out after being hammered by world number four Sakkari in the first set and going down 5-2 in the second.
Greece's Sakkari was serving for what appeared to be a routine win but from nowhere Jabeur pushed back, breaking serve in game eight before winning the next seven to go three ahead in set three, a lead which she never relinquished.
"In my head at 5-2 I said, You cannot finish those two weeks, those amazing almost three weeks, like this," Jabeur told reporters.
"To back up the performance from Madrid, it's very important for me... It's one of the reasons why I'm here, why I want to continue showing myself on the court."
In the last four Jabeur will face either Jil Tiechmann or Daria Kasatkina, who play in the last women's quarter-final on centre court later on Friday.
Earlier Iga Swiatek stretched her winning streak to 26 matches after a straight-sets victory over Bianca Andreescu, 7-6 (7/2), 6-0.
Swiatek, the reigning champion in Rome, is gunning for a fifth tournament victory in a row and showed why she is the favourite for the French Open later this month against Canadian Andreescu.
The world number one will face Aryna Sabalenka in the women's semi-finals after the third seed won 4-6, 6-3, 6-2 against Amanda Anisimova.
Belarus' Sabalenka beat Anisimova for the first time in five attempts after the American had ended her Madrid title defence in the first round at the end of last month.
Tsitsipas' crowd drama
Stefanos Tsitsipas made the men's semi-finals by beating local hero Jannick Sinner 7-6 (7/5) 6-2 in a clash which was stopped for over 10 minutes at match point after a spectator fell ill.
World number five Tsitsipas has already won the Monte Carlo Masters this clay swing and reached the last four in impressive style against Italian Sinner, who was in his first ever Rome quarter-final.
Next up Tsitsipas will face Alexander Zverev, who made the semis after comfortably seeing off Cristian Garin, the only unseeded player left in the tournament, 7-5, 6-2.
It will be the third time in the space of a month that the German will meet the Greek in the last four, with the pair sharing the honours from clashes in Monte Carlo and Madrid.
Tsitsipas was set to seal his win when someone in the crowd appeared to collapse and play was stopped amid loud whistles directed at the umpire who wanted to continue.
What seemed like an age passed before the spectator was stretchered out of centre court and Tsitsipas could finally serve his match point, and a simple passing shot from Sinner's miscalculated drop shot sent him through.
"I've had these situations in the past. The important thing is to stay within your element," Tsitsipas added.
Tsitsipas will take number four spot in the world rankings on Monday after Rafael Nadal's shock third-round exit at the hands of Denis Shapovalov on Thursday night.
Shapovalov's journey ended with a 7-6 (7/5), 7-5 defeat to Casper Ruud, who will face Novak Djokovic should the Serb beat Canada's Felix Auger-Aliassime in the day's final match.
Djkokovic needs to beat Auger-Aliassime to maintain top spot in the world rankings, a position he has held for a record 369 weeks.
Results from the ATP/WTA Italian Open on Friday (x denotes seeding, players representing Russia and Belarus are banned from competing under the name or flag of their countries until further notice):
Stefanos Tsitsipas (GRE x4) bt Jannik Sinner (ITA x10) 7-6 (7/5), 6-2
Alexander Zverev (GER x2) bt Christian Garn (CHI) 7-5, 6-2
Iga Swiatek (POL x1) bt Bianca Andreescu (CAN) 7-6 (7/2), 6-0
Aryna Sabalenka (x3) bt Amanda Anisimova (USA) 4-6, 6-3, 6-2