The Magic have won 14 of last 16 against the Sixers, including five straight in Philadelphia.
The Magic have won two in a row after losing three of four. They're tied with Atlanta for fourth place in the East, 5½ games behind conference-leading Boston.
After an 8-0 run by Philadelphia tied it midway through the fourth, the Magic went on a 3-point spree. Redick made the first one from beyond the arc to put Orlando up 80-77. Jason Richardson followed and Ryan Anderson made it 86-80 with his 3.
Redick nailed a jumper and made a driving layup to extend Orlando's lead to 90-83 with 1:49 left.
But Williams hit a 16-footer and Meeks scored on a fast break off a turnover to get Philadelphia within 90-87.
Howard then sank a pair of throws and Jameer Nelson made a pair. Williams hit a 3 to cut it to 94-92 with 22 seconds left, but Howard's slam and free throw completed a three-point play.
Williams hit another 3, but Richardson made two free throws to ice it.
Howard came in shooting 57.9 percent from the free throw line, but he was 14 of 19 against the Sixers.
Coming off an impressive 34-point win at Atlanta on Tuesday night, the Sixers started fast and led 27-18 after one quarter.
Howard missed a breakaway slam in the final seconds of the first. The ball bounced hard off the back rim and caromed high in the air. Meeks hit a 3-pointer with 2 seconds left in the quarter to give Philadelphia the 9-point lead.
The Sixers have lost two of three after going 6-1 in their previous seven games. They failed to move within two games of .500 for the first time since starting 0-2.
Iguodala made a 3-pointer midway through the third to put Philadelphia up 62-58, but the Magic went on a 15-3 run. Hedo Turkoglu started it with a jumper and then made a perfect alley-oop pass to Howard for a dunk. Turkoglu finished it off with a 3-pointer that put Orlando up 73-65.
Another 3 by Turkoglu gave the Magic their biggest lead of the night, 77-69, early in the fourth. But the Sixers answered with eight straight points — all from their bench players. Thaddeus Young and Williams each had two baskets apiece.
Howard fell three rebounds short of his second straight 20-20 game and sixth this season. He had 22 points and 20 boards in a win over the Los Angeles Clippers on Tuesday night.
Notes: Magic F Brandon Bass missed his fifth straight game with a sprained left ankle. ... The teams split their previous two meetings, both in Orlando. ... The Sixers are in the middle of four games in five days. ... Iguodala has 40 assists in the last five games.