The Bobcats fourth win in six games -- all against teams above them in the standings -- still left them eight games below .500. But suddenly Charlotte is full of confidence and perhaps close to reaching its potential.
"It's very satisfying but we still have a long way to go," first-year coach Sam Vincent said. "We're 15-23. If we were .500 then we'd be getting close to being happy."
The latest in a stretch of wild finishes and big wins left plenty of smiles in the Bobcats' locker room.
Richardson, who scored 26 points, hit a 3 with the shot clock running down with 31.2 seconds left to put Charlotte ahead 93-88. Raymond Felton and Richardson then combined to hit six straight at the foul line as the Bobcats avoided a season sweep to the Southeast Division leaders.
"That's big for us. It shows a lot of growth," Richardson said. "This team is growing every game."
Dwight Howard had 24 points and 21 rebounds and Carlos Arroyo came off the bench to score 17 points for the Magic, who went on a turnover spree after point guard Jameer Nelson left in the third quarter with a strained tendon in his right foot.
"Our turnovers were mindless and mindboggling," coach Stan Van Gundy said of the 19 times the Magic threw it away. "You've got to be able to handle the ball. When you have a 19-point lead and a good veteran team that handles the ball solidly and makes solid plays and doesn't break down defensively, then you're probably going to win that game. But we didn't do any of those things. It's frustrating."
Charlotte, which had been 0-3 against Orlando this season by an average margin of 13 points, took its first lead since 9-8 on Richardson's 3-pointer with 8:20 left. Matt Carroll's 3 with 5:50 left made it 88-82.
Orlando, struggling to run its offense with Arroyo and Keith Bogans, went nearly four minutes without a point until Hedo Turkoglu's driving layup made it 90-87.
Richardson then hit his 3 and the Magic fell to 16-9 on the road.
It would have been hard to believe Orlando was vulnerable after the first half. Using a combination of sharp 3-point shooting from Rashard Lewis and Arroyo and Howard's dominance inside, the Magic cruised to 56-41 lead by shooting 53 percent and controlling the boards.
The lead swelled to 62-43 on Turkoglu's leaner with 9:28 left in the third quarter when the game took a 180-degree turn.
Suddenly Charlotte was the aggressor and the Magic got sloppy with the ball. Wallace continually took it to the basket and was either fouled or finished with thunderous dunks. Carroll hit two long jumpers and a 3-pointer and the Bobcats closed the quarter on a 32-13 run to tie the game at 75.
"That's been the story for us all year," said Howard, who had his league-leading 36th double-double. "We play hard to a certain point, and then we start relaxing."
Howard, who had his fifth game of 20-plus points and rebounds, but missed five free throws and wasn't as effective in the second half against the Bobcats, who look nothing like the team that had failed to be competitive early in the season.
Charlotte, which has beaten New Jersey, Boston, Denver and Orlando in the past week while losing in overtime to Cleveland and Detroit, got another big game from Wallace, who scored 40 points in Monday's thrilling win over the Nuggets.
Wallace attempted a career-high 30 shots, hitting 12. He also made 11 of 14 free throws and had five assists and three steals.
"We continued to fight and had the willingness to accept the challenge of being down to a first-place team," Vincent said. "We really buckled down on defense."
Nelson had his right foot in a bucket of ice after the game, but didn't seem overly concerned with the injury. ... The Magic, who made six of 12 3-pointers in the first half, shot 0-for-5 in the second half. ... It was Orlando's league-high 25th road game and Charlotte's league-high 24th home game. That will change when the Magic close the season with 21 of 33 games at home, while the Bobcats play 21 of 29 on the road starting at the end of the month. ... Bobcats F Othella Harrington, who has developed arthritis in his left knee, missed his 16th straight game.