The Swiss great, who goes on to face Russian 26th seed Mikhail Youzhny for a place in the semi-finals, had to come from two sets to love down to see off France's Julien Benneteau in the last round.
The 30-year-old appeared to be in serious trouble again after taking a 4-3 lead in the first set against Malisse, having to leave Centre Court to take a medical time-out where pain-killers were dispensed to cure back pain.
"I was in a lot of pain," said 30-year-old Federer, who regularly wrapped a towel around his hips and back when he sat courtside during the changeovers for the rest of the last 16 tie which was played in a chilly 15 degrees.
"The treatment and the pain-killers worked. I started to feel better as the match went on. But it was a shock for it to happen in the first set of a Grand Slam when you have to play five on grass.
"I thought I was in big trouble at 5-6 and he was serving for the first set. I apologised to Xavier for having to go off. But it was just a freak thing.
"After 15 years on tour if this is the worst it gets, then I'll be happy."
After the medical time-out, Federer stepped gingerly around the court but having cruised through the first set on a tie-break, the only obstacle he was then facing was the weather.
Rain drove the players off for 40 minutes, although the roof on Centre Court remained open.
Back on court, Federer broke Malisse three times in the second set, taking it 6-1.
The 31-year-old Belgian, whose only win in 10 previous meetings against Federer came in their first clash during the 1999 Davis Cup, grabbed a break in the first game of the third set on his way to reducing the deficit.
Malisse broke again in the first game of the fourth, but once Federer, who hit 44 winners, had evened it up in the fourth game, he was comfortably back in charge.
He broke again for 4-2 and never looked back with his two hour 11 minute win giving him his 850th career triumph.
Youzhny reached the quarter-finals for the first time with a 6-3, 5-7, 6-4, 6-7 (5/7), 7-5 over Uzbek Denis Istomin.