Federer reeled off 13 games in a row to dig himself out of trouble and beat Russia's Nikolay Davydenko 2-6, 6-3, 6-0, 7-5 in a wildly fluctuating match.
Serena was also staring down the barrel in her quarterfinal against Victoria Azarenka of Belarus before she recovered to win 4-6, 7-6, 6-2.
Her elder sibling might have joined her but threw away a comfortable lead in her 2-6, 7-6, 7-5 loss to Li, one of two Chinese women through to the last four at Melbourne Park.
Federer made it through to his 23rd consecutive Grand Slam semifinals but only after a titanic struggle with Davydenko, who won the opening set then got an early service break in the second.
"It's incredible, looking back," Federer said. “For some reason I was just a bit worried I wasn't gonna make it this time. You always believe the streak is gonna be broken but I stopped thinking about it after the second round and just started focussing on the tournament."
The world number one was struggling to stay with Davydenko as the sun started setting and shadows began creeping on to the Rod Laver Arena but seized his opportunity when the Russian suddenly went off the boil. "I had so many chance to win, many breakpoints," Davydenko said.
"I lost the second and third set, and so easy. I cannot explain what happened. You need to be talented. You need to be like Federer. You need to be perfect. He's number one."
Federer's next opponent will be Jo-Wilfried Tsonga after the Frenchman beat Novak Djokovic 7-6, 6-7, 1-6, 6-3, 6-1 to avenge his loss to the Serb in the 2008 Australian final.
Djokovic was heavily criticised after he retired with heat exhaustion while trying to defend his title last year and the world number three said he was sick again against Tsonga.
"It was unfortunate that I couldn't perform on the level that I wanted to in the fourth and fifth set," Djokovic said.
"I don't want to find excuses for my loss but I went to vomit and I had diarrhoea before the match. Just a terrible feeling."
Djokovic dashed from the court as soon as the match was over as Tsonga leapt into the air and starting blowing kisses to the centre court crowd.
"I think I was in good shape, maybe better than him," Tsonga said.
"I saw he was not very good. But sometimes, you know, he does that and he wins ... I have a lot of sympathy for him."
Serena showed why she remains the toughest woman in the world to beat, battling back from the brink of defeat to remain on course to defend the title she won for a fourth time last year.
The American lost the opening set to Azarenka then went behind 4-0 in the second as she started to doubt herself before she rediscovered her self-belief and found a way to win.
"I'm surprised. I didn't expect to win when I was down in the second set," she said. "I thought if I lost the singles and the doubles, I could catch a flight on Friday. It's not what a champion is supposed to think but I did."
Venus was two points away from wrapping up a straight-sets win when she stumbled on her serve and allowed Li back into the contest. "In tennis you have to close it out. It's not like there's a clock ticking and then suddenly it's over," Venus said. "You just have to close it out. I didn't do that today."
The once unimaginable prospect of an all-Chinese final is suddenly looming as a real possibility after Li followed Zheng Jie into the semis. Millions of people in China have been following their matches on television and Li said she was adopting a philosophical approach to her match against Serena.
"In China we say if you have a tough time and then you return back, maybe you have good luck for after," she said. "So I still believe that."
*Men: Andy Murray vs Marin Cilic (Thursday)
Roger Federer vs Jo-Wilfried Tsonga (Friday)
* Women: Serena Williams vs Li Na.
Justine Henin vs Zheng Jie
(both matches on Thursday)