The pendulum swung back towards Mladenovic as she began the final set with a break and, despite her unwelcome penchant for a double fault - she racked up 16 over the course of the match - the 2016 women's doubles champion survived three break points to hold in the next.
The 31-year-old Nadal is chasing his 15th Grand Slam title and first since 2014 - when he won at Roland Garros.
Tagged one of the pre-tournament favourites after reaching the final in Madrid and Stuttgart, the 13th seed is looking to become the first French woman since Mary Pierce in 2000 to lift the Suzanne Lenglen Cup.
There will be a first-time Grand Slam champion at the French Open.
"I was a bit nervous and I got more and more nervous", she said.
The 27-year-old Bacsinszky, who had wasted two set points in the first set, frustrated the American by playing a string of drop shots and won the next two sets easily.
Mladenovic reached the quarterfinals at Roland Garros for the first time.
"Everything wasn't ideal. There were a few concerns", Mladenovic said, before joking: "I made about 35 double-faults today, but everything's [okay]!"
Muguruza upset Serena Williams in the Paris decider past year to register her first grand slam singles triumph, but she has struggled to hit those heights again in the subsequent 12 months.
Williams had a good shot at making a run this year due to the weakened field, but she is now a casualty of that field.
Mladenovic is the great French hope to end their 17-year wait for a home singles champion, and the support was understandably one-sided as they cheered the 24-year-old to a 6-1 3-6 6-3 victory.
With rain and storms forecast for later on Friday, Muguruza will be pleased to have booked her passage with the minimum of fuss, although if Mladenovic is her opponent in the fourth round she can expect an entirely different reception from the locals.
Spain's Garbine Muguruza wipes her face as she plays France's Kristina Mladenovic during their fourth round match of the French Open tennis tournament at the Roland Garros stadium, Sunday, June 4, 2017 in Paris. The Swiss needed just 68 minutes to seal the match.
The last time they met, Serb Djokovic won 6-1 6-0 in the Italian Open semi-finals.