The seven-time champion, who missed the tournament last year, was outplayed by Italian Camila Giorgi in the first set, but rallied to win 3-6 6-3 6-4 on Centre Court.
Having lifted the title in the last two years she played here, in 2015 and 2016, this quarter-final success takes Williams’s winning streak at the All England Club to 19 matches.
It also proved beyond doubt that she is the woman to beat in the women’s draw despite this being just her fourth tournament back since giving birth last September.
She will meet Julia Goerges in tomorrow’s semi-final to play for a place in a 10th Wimbledon final.
Giorgi, a pocket-sized Italian who is ranked 52nd in the world, has been one of the surprise packages of the tournament, getting to her first grand slam quarter-final with some line-painting, attacking ground strokes and a potent first serve.
The 26-year-old, whose fashion designer mother makes her outfits, said in the build-up to the game that she did not know anything about Williams’s game as she has no interest in tennis when not playing.
She quickly worked out a way to hurt the 23-time grand slam champion and it was not just her clothes that were eye-catching as some impressive serving and a barrage of cross-court forehands saw her dominate.
A mixture of sizzling winners and forced errors gave her a break to lead 4-2 and then, after saving four break-back points in the next game, she served the first set out.
Williams, who had rapper Drake as part of her entourage, had to survive a 0-30 service game early in the second set and that was a defining moment in the match as she soon took command by breaking Giorgi, which proved enough to decide the second set.
Giorgi was unable to affect the match in the same way as she did at the start and the writing was on the wall when Williams opened up an early lead in the decider.
The Italian refused to wilt, forcing Williams to serve it out, but that was no problem as she moved just two wins away from an eighth Wimbledon crown.
Williams, though, is not allowing herself to think about that possibility yet.
“I am okay, I feel good, I feel like I did better [yesterday], I had to,” she said.
“But this is only my fourth tournament back. I don’t feel pressure, I don’t feel I have to win this, I don’t feel I have to lose this. I am just here to be here and prove I am back.
“I feel like I am back, I still have a long way to where I was.”
Despite trailing by a set she insisted she was never worried.
“No, it’s weird,” said Williams. “Sometimes I feel, ‘man, I’m in trouble’. Sometimes I feel I can fight.
“But for whatever reason I was so calm. Even when I was down the first set, I thought, ‘Well, she’s playing great. I’m doing a lot of the right things. It is what it is.’
“I’m not tired at all. In fact, when I was out there I think that was one thing that was surprising, how well I felt.”
Williams will face Germany’s Goerges, the 13th seed, who reached her first grand slam semi-final with a 3-6 7-5 6-1 victory over Dutchwoman Kiki Bertens.
Another German, Angelique Kerber, admitted nerves almost got the better of her after needing seven match points to see off Daria Kasatkina. Russian youngster Kasatkina broke back when Kerber first served for the match, and then saved six match points during an epic final game.
Kerber came out on top in a spectacular 25-shot rally to force match point No 7 and finally got the job done as Kasatkina netted a forehand, the German a relieved 6-3 7-5 winner.
“Of course it’s not so easy because you feel your nerves,” said Kerber.
“You feel you get a little bit tight, especially if you have your third or fourth match point again.
“We both played at a really high level, starting from the first point. The last game showed how good we both played and how she was fighting until the end.”
Seeded 11th, Kerber seems to be approaching something close to her 2016 peak, when she won her two grand slam titles and reached the final at Wimbledon.
The 30-year-old slipped out of the world’s top 20 after a miserable 2017, but has rediscovered her game this year.
“I’m looking forward now to playing the semis here,” she added.
“That is where I put my focus on right now, not about the results I had before. It’s just about the next match.”
That next match will be against another 21-year-old in 12th seed Jelena Ostapenko, who beat Dominika Cibulkova.
The Latvian struck 32 winners to just six from her opponent, with Cibulkova’s second serve taking a pummelling, and won 7-5 6-4 in an hour and 22 minutes.
“I knew I had to be aggressive otherwise she would have opportunity for winners so I just went for my shots,” Ostapenko said.
“Angelique is a great player, it’s going to be a battle, a tough match probably with long rallies, but I will prepare well and be confident.”