Howard missed six consecutive free throws in the final three minutes, allowing the Raptors to cut a nine-point deficit to 87-85 in crunch time.
J.J. Redick answered Toronto's 7-0 run with a three-pointer from the right corner with 9.8 seconds remaining, and added two free throws a little later to seal Orlando's third win in four games.
Howard pulled down 13 rebounds, while Ryan Anderson also recorded a double- double with 19 points and 13 boards for the Magic. Redick finished with 13 points and six assists in the win.
The Raptors, who were trying to win consecutive games for the first time in over a month, were led by DeMar DeRozan's 23 points. Jerryd Bayless added 15 points off the bench, while Aaron Gray posted 11 points and 11 rebounds in defeat.
Howard hit a pair of hook shots during a 7-0 run that gave the visitors some breathing room down the stretch, with Jason Richardson's dunk in transition giving the Magic an 87-78 lead with 2:58 to play.
Toronto inched closer though, in part because Howard missed six straight from the stripe. Jose Calderon drained a three-pointer, DeRozan banked in a short hook shot and Bayless sank two at the foul line with 31.8 ticks on the clock.
But after the free throws, Richardson found Redick wide open in the right corner, and the sharp-shooter hit nothing but net. Calderon's trey at the other end gave the Raptors a shot at pulling out the comeback, but Redick's free throws clinched the result.
There were 10 lead changes in the first quarter and none in the second, as Orlando led 23-20 after 12 minutes and went into the break clinging to a 43-38 advantage.
Howard scored 13 points in a back-and-forth third quarter, which ended with the Magic on top, 68-63.
Magic forward Hedo Turkoglu was held scoreless on 0-of-6 shooting, but handed out a game-high nine assists...James Johnson posted 13 points, seven rebounds and seven assists for the Raptors, who were outscored in the paint, 50-36...The Raptors haven't recorded back-to-back wins since January 24-25...Orlando had gone 5-10 in its previous 15 matchups in Canada.