World number one Barty needed three sets to see off Australian Open finalist Muguruza in Doha, while Kvitova won a pair of tie-breaks in her quarter-final with Jabeur.
Veteran Svetlana Kuznetsova earned a share of tournament history with an upset win over fourth seed Belinda Bencic.
The Russian now faces Aryna Sabalenka, who came from behind to defeat Saisai Zheng in the day's opening match.
BARTY OUT TO CONTINUE KVITOVA RUN
Barty endured a second-set dip in her 6-1 6-7 (4-7) 6-2 beating of Muguruza, who has reached at least the last eight in each of her five tournaments in 2020.
The Australian, playing at her first event since reaching the semis of her home slam in Melbourne, did not face a single break point in the opening set but was met with a much sterner test in the second.
Barty raced into a 5-2 lead in the decider, though, and fought back from 40-15 in the final game to set up a showdown with Kvitova, who she has beaten in their previous four meetings - including a straight-sets win at the Australian Open.
Kvitova, the 2018 champion, edged to a 7-6 (7-2) 7-6 (7-4) win over Jabeur, who has enjoyed a stellar year thus far and became the first Arab woman to reach a major quarter-final in Melbourne.
MILESTONE FOR KUZNETSOVA
Kuznetsova was in devastating form against Bencic, hitting 39 winners and just 15 unforced errors in a 6-4 6-4 triumph.
A runner-up in 2004 and 2007, Kuznetsova now has 19 match wins in Doha, which ties the record held by retired former world number one Caroline Wozniacki.
"I have amazing memories," said Kuznetsova, who is in to her first Doha semi since 2007.
"It was my first time when I beat Justine [Henin] here [in the 2004 semi-finals] and it was like I was a kid, I was 19.
"I climbed from number 30-something to number 13 or number 14 and it was amazing. It was so long ago it was like another life, but it really happened to me - I didn't watch it in the movies."
Sabalenka will try to end Kuznetsova's run after a 3-6 7-6 (7-2) 6-3 defeat of Zheng.