Raymond Felton scored 18 points, including four straight free throws in the final minute that gave the Blazers a 90-84 lead.
Crawford, playing 30 minutes in a reserve role, scored 12 of his points during a 15-5 Portland run that began late in the third quarter and gave the Blazers a six-point lead early in the fourth.
Trevor Ariza had 23 points and nine rebounds for New Orleans, which briefly led 78-77 in the middle of the fourth quarter before losing for the 23rd time in 25 games.
Portland trailed for most of the second and third quarters, but surged into the lead with a 10-3 run to close the third. Crawford scored seven points during that pivotal spurt on a driving floater as he was fouled, a graceful driving scoop off the glass and a jumper.
Crawford then opened the fourth quarter with two more jumpers and a technical free throw, giving him 12 of 14 Portland points and increasing the Blazers' lead to 75-69.
Marco Belinelli's 3 sparked a 7-0 run that briefly gave New Orleans the lead once more at 78-77, and after Portland went back up by three on a pair of jumpers by Aldridge, Ariza's three-point play on a driving layup as he was fouled tied it at 81 with 4:11 left.
The Hornets had trouble generating offense in crunch time as another close game slipped away.
New Orleans briefly got as close as 86-84 on Al-Farouq Aminu's 3 with 48 seconds to go, but Aminu, who had 12 points off the bench, fouled out seconds later, sending Felton to the free throw line.
New Orleans only scored two more points, and Portland hit six more free throws for the final margin.
Accurate jump shooting helped Portland finish at nearly 52 percent from the field to go with 20 of 25 free throw shooting. That allowed the Blazers to overcome the Hornets 54-30 advantage in points inside.
Crawford finished 10 of 16 from the field and 9 of 10 on free throws. Five of Crawford's six misses were from behind the 3-point arc.
Emeka Okafor had 13 points and eight rebounds for New Orleans, while Belinelli added 12 points.
Ariza had 15 of his points in the first half, and his free throws put the Hornets up by as many as nine at 38-29 in the second quarter. That was the largest lead for either team in a game that had six lead changes and nine ties.
New Orleans led for the last eight minutes of the second quarter, with the help of efficient bench play. Hornets reserves combined to make 7 of 10 shots for 16 points in the first half, with Aminu scoring seven, including a dunk that made it 44-38 late in the second quarter.
Crawford kept Portland close with 11 of his points in the first 24 minutes, hitting a pair of free throws to cut New Orleans' lead to 46-42 at halftime.
Notes: Portland improved to 4-9 on the road, with two of those wins coming at New Orleans, which has an NBA-worst 2-14 home record. ... The Hornets had only nine players in uniform because starting point guard Jarrett Jack, who played Wednesday, was out with left knee soreness and because center Chris Kaman sprained his left ankle during pre-game warm-ups. The Hornets were already without guard Eric Gordon and forwards Carl Landry and Jason Smith. .... Hornets G Donald Sloan made his debut for the club late in the first quarter, making him the 11th new member of the team to play in a regular season game through the first 27 games. He finished with seven points ... Portland has won five of six against the Hornets.