Orlando has 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.
"It was a good win on the second night of a back and back," said J.J. Redick, who scored 13 points. "It was a refreshing win because we had to gut it out. Basically, we just stuck to the system."
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.
"I think it was possibly our best win of the year," Van Gundy said. "On the road against a team that's been playing extremely well."
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.
Next up for the Sixers are the San Antonio Spurs, who visit Philadelphia on Friday night with the NBA's best record.
"Our guys played well," Collins said. "Orlando made big shots when they had to. I don't think it was anything we didn't do. They showed they are a better team. That's not anything to be discouraged about. That's a team that was picked to possibly make the Finals."
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.
"It's easy for them because they have Dwight and four shooters," Williams said. "It's tough to rotate on those guys."
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.
Sixers rookie Evan Turner played just 12 minutes because of mild back spasms. ... 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. He had five turnovers after having just four in the previous five games.