The Magic shot above 60 percent in the first half, but fell to 45 percent for the game (36 for 79). They were able to stay in the game thanks to 11 3-pointers.
Orlando has lost three straight games since starting forward Glen Davis was sidelined with a sprained left shoulder.
His absence was exploited all night by a Hornets offense that, led by Lopez, outscored Orlando 44-38 in the paint. Rookie Anthony Davis contributed to the Magic's misery underneath with 12 points and 11 rebounds.
Hornets forward Ryan Anderson, traded by Orlando in the offseason, didn't shoot well (4 for 11) but finished with 15 points.
It marked the first time in three games the Hornets were able to close out a close game after losing their previous two by six and five points, respectively.
"It's huge for us," Anderson said. "Not only is it nice to beat the team that traded me, but it's great for this team. It's great for the morale. We've been battling to get a win. We've been fighting to the end. And this was a big step."
Orlando didn't score a field goal in the final 6:08 of the game, but still had a chance to tie the game in the closing seconds.
New Orleans opened a 10-point lead in the third quarter, before the Magic reduced it to just a basket entering the final period.
Orlando took its first lead since late in the first half, 92-91, on two free throws by Vucevic with 3:44 to play.
Two free throws by Lopez on the other end quickly put the Hornets back up a point before J.J. Redick's trip to the line nudged the Magic in front 94-93.
A floating jumper by Vasquez pushed New Orleans into the lead again, forcing the Magic to call a timeout with 50.7 seconds left.
Arron Afflalo got a lane to the basket, but his layup was blocked by Lopez.
Vasquez had his shot blocked by E'Twaun Moore on the Hornets' ensuing possession, but stepped on the baseline on his rebound attempt with only 25 seconds left.
Vasquez was fouled and made two free throws to make it 97-94.
Vucevic wound up in the corner and missed a 3-pointer off the side of the rim and Afflalo was unable to get up another attempt as the horn sounded.
"It was playing against set defense compared to getting in transition," Magic coach Jacque Vaughn said. "They were long, blocked some shots of ours and were great at closing out and contesting shots, so I think that was the difference."
Though defense tightened late, free-flowing offense was on display on both sides in the first half.
The Magic led 53-49 at the break, despite Lopez scoring 14 of the Hornets' first 20 points.
Lopez was 8 of 9 from the field and scored 19 points in the first half.
Orlando never trailed by more seven, though, keeping pace by connecting of seven 3-pointers in the half. The Magic's offense also got a big lift from Vucevic, who went right at the Hornet's interior defense, scoring 14 points.
But he also acknowledged that Davis' absence is a problem right now, particularly defensively.
"We miss him a lot -- both ends of the court," Vucevic said. "People think it's probably just on the offensive end because he's one of our leading scorers. But he played well on both ends of the court."
Hornets coach Monty Williams said he hopes his team continues to keep an unsatisfied attitude.
"My goal is not to win one game and then let up," Williams said. "My mindset is always to win every game we play. I don't care who it is in our lineup, young or whoever the guy is, we're going to try to win games. ... I'll enjoy this for about 15 more minutes and then I'll start thinking about the next game."
Nelson's double-double was his fourth of the season. ... Williams said Gordon, who hasn't played yet this season, could be ready to play Saturday when New Orleans hosts Charlotte. He said Gordon is taking time to get back into playing shape. "We've got to make sure he's at a good pace before he comes back," Williams said. ... Magic F Hedo Turkoglu (broken hand) is making progress toward returning as well. Vaughn said they, too, are being cautious about getting him ready for game action following the Nov. 2 injury. "He needs some more practices," Vaughn said. "He's got to get hit on that hand a few times."... Wednesday was the first game in Orlando for Hornets G Austin Rivers as an NBA player. The rookie played high school basketball at nearby Winter Park High School.