Canadian Fernandez, who has just turned 18, won the junior title at Roland Garros last year and has made rapid strides in the senior game.
She looked like she might pull off a big shock when she led seventh seed Kvitova 5-1 in the opening set but the Czech used all her experience to save two set points and wrestle the contest back her way.
A run of nine games in a row put her firmly in control but Fernandez, the latest hugely exciting talent to emerge from Canada, refused to slide away and made Kvitova work for her 7-5 6-3 victory.
The Czech paid tribute to her opponent, saying: “I definitely think that she is really playing a great game. She’s a great mover. She catches a lot of balls and if she has a chance, she’s really going for it.
“It was really challenging today. I’m really happy I found a way even though it wasn’t easy.”
Fernandez’s emotions afterwards were very much of a chance that had slipped away, the teenager saying: “I’m very disappointed. Today I just made too many mistakes when I was up, gave her momentum going back in.
“I just didn’t follow my coaches’ game plan that they gave me in the beginning of the match. Too many mistakes here and there on key moments. Next time that we play against each other or next time that I play a top player like her in a grand slam, it will definitely be different.”
Kvitova will know this is a glorious chance for her, with the draw having opened up. She is the only seed left in her section and will next face China’s Zhang Shuai, who ended the run of French teenager Clara Burel.
The winner of that match will take on either German Laura Siegemund or Paula Badosa of Spain.
Badosa, a former junior champion at Roland Garros, knocked out 2017 winner Jelena Ostapenko, who was unable to build on her big win over second seed Karolina Pliskova in the previous round.
Fourth seed Sofia Kenin survived close matches in both the first two rounds but was much more comfortable on Saturday against Romania’s Irina Bara.
Bara won the first two games but Australian Open champion Kenin then swept through 12 in a row in a 6-2 6-0 victory.
“It wasn’t as dramatic, which I’m quite happy about,” said the American. “I was a little bit tired of those dramatic matches. I just wanted to try to start off well and finish off really well.
“Towards the end I just started getting a little bit careless. I started doing drop shots just for fun. I was like, ‘Why not? Let’s just do drop shots’. But then she obviously picked up her game. It’s nice getting 12 games in a row, I have to admit.”
Kenin next faces Fiona Ferro, one of two Frenchwomen in the last 16 along with Caroline Garcia, while Ons Jabeur became the first Arab woman to reach the fourth round with a dramatic 7-6 (7) 2-6 6-3 victory over eighth seed Aryna Sabalenka.
Jabeur’s opponent in the fourth round will be American Danielle Collins, who pulled off a late-night upset of 11th seed Garbine Muguruza under the roof on Court Philippe Chatrier, coming back from 0-3 in the final set to win 7-5 2-6 6-4.