"It was an incredible match, with two very different opening sets, and the third was extraordinary," Barty said after what is her 18th win this year.
"I felt like I created a lot of opportunities and Karolina was able to come up with some quality stuff on some massive points.
"It was a really good battle."
The Australian, who turns 25 on Saturday, rallied after a dream first set in the quarter-final from Pliskova, who broke Barty twice.
However, Barty broke the Czech to start the second set and begin her recovery.
Pliskova, the 2018 Stuttgart champion, served for the match at 5-4 in the decider but couldn't close it out as Barty converted her fifth break point in a marathon game.
Barty then held to love and secured victory in the next game on her second match point.
"I missed some returns, but Karolina is a fierce competitor who has been at the top of her game for a long time," Barty, the 2019 French Open winner, said.
"I knew I'd have to do something special to claw my way back and get back on my terms."
Barty faces No.4 seed Elina Svitolina in the semi-final after the Ukrainian staged a remarkable comeback in her 6-7 (4-7) 7-5 6-2 win over Petra Kvitova.
Svitolina was 5-2 down in the second set but saved two match points as she reeled off five games on the bounce against 2019 champion Kvitova.
She broke the two-time Wimbledon winner twice in the third set to complete an improbable turnaround.
"It was a really tough battle, I was expecting a big match but I didn't think it would be that hard," Svitolina said.
The world No.5 has lost her last two matches against Barty, most recently in the semi-finals of this year's Miami tournament.
"We played each other in Miami a few weeks ago, we know each other's game very well, so I am looking forward to it," Svitolina said.