The Czech 25th seed looked on her way out after Barty raced through the opening set, but after a medical timeout Muchova returned a different player to win 1-6, 6-3, 6-2 on Rod Laver Arena as the Australian crumbled.
She will face either Jennifer Brady or Jessica Pegula, both American, for a place in the final.
“I started feeling a bit lost by the end of the first set. She played almost like no mistakes,” said Muchova, whose best previous Grand Slam run was to the last eight at Wimbledon in 2019.
“It was very tough and I was a bit lost on the court and my head was spinning so I took a break.
“It helped me. I tried to get back, played a bit faster rallies so we don’t play the long ones as in the first set and it worked well.”
Her come-from-behind win ended top seed Barty’s hopes of becoming the first home winner at the Australian Open in 43 years after Chris O’Neil’s breakthrough in 1978.
Barty, the 2019 French Open champion, had made a flying start to her year, winning the warm-up Yarra Valley Classic and had not lost a set before meeting Muchova.
Muchova had not dropped a set in the tournament, but that changed against Barty, who worked break points on the Czech’s opening serve and converted the second with a forehand winner.
She broke again for a 5-0 lead and sealed the set in 24 minutes, with Muchova winning only 11 points, hitting just one winner against 13 unforced errors.
There was no let-up from the Barty early in the second with another immediate break then a service hold to love with Muchova spraying the ball everywhere.
The 24-year-old Muchova called the trainer at 1-2 and he appeared to check her pulse and temperature before a medical timeout was taken.
The break worked wonders. Barty’s momentum was disrupted and Muchova broke back straight away.
The Czech was far more competitive and earned another break for 5-3 then took the set as a lost-looking Barty’s error count mounted.
The Australian was rattled and broken in the first game of the third set as Muchova kept the pressure up and as the Australian’s confidence drained away, she missed easy shots as Muchova surged to a famous victory.
The other semi-final will see number three seed Naomi Osaka meet Serena Williams.