Nowitzki was 12-of-18 from the field and scored on power moves and jumpers despite playing the second half in foul trouble. Josh Howard added 15 points for Dallas, 15-4 in its last 19 games after opening 2-7.
The Mavericks kept their poise after a near-meltdown in the third quarter when they had four technical fouls and Howard was called for a flagrant foul and later ejected.
"You know what? We fought," coach Rick Carlisle said. "We fought the whole game. There were some calls we didn't agree with and we may have lost our poise a little bit, but it was really about the fight tonight."
Portland's Brandon Roy had 22 points, but went scoreless in the fourth quarter. Steve Blake added 14 points and seven assists, Travis Outlaw and Rudy Fernandez had 13 points each, and LaMarcus Aldridge finished with 12.
The Trail Blazers had won 13 consecutive Christmas games.
The Mavericks closed the game with a 12-2 run, while Roy went 0-for-3 in the final 3:33 for Portland.
Portland shot 55 percent and Dallas 58 percent in the first half. Portland led 10-2, but Nowitzki scored 12 of Dallas' next 14 points and the Mavericks opened up a nine-point lead. Dallas' first-half advantage crested at 10 at 51-41. Fernandez hit a 3-pointer and Blake had seven points for Portland, and the Mavs led 59-55 at the break.
Nowitzki picked up his fourth foul early in the third and left the game, picking up a technical foul for arguing with official Bob Delaney on the way out. With Nowitzki out, Portland took a 67-66 lead on a 12-foot jumper by Aldridge.
"I don't think anybody panicked, even with all the Ts," said Jason Kidd, who had six points, 12 rebounds and 10 assists for Dallas. "We kept plugging away, keeping it close down the stretch to see if we could get a win on the road."
Howard sent 7-foot-1 Joel Przybilla sprawling to the floor, then was hit with a technical for jawing with Przybilla and received the second technical seconds later. Portland took an 80-77 lead into the final period.
The Blazers' hopes were quickly diminished, though. Terry hit a 3 for Dallas, and Brandon Bass scored twice to put the Mavericks up by seven.
"They didn't let up," Roy said. "We thought we had them down and they weren't down. Coach (Nate McMillan) said they outhustled us, and you can't dispute that."
The Blazers lost a share of the Northwest Division lead, which they shared with Denver after splitting a home-and home-series with the Nuggets early in the week.
- Portland rookie guard/forward Fernandez is competing with fellow rookies Joe Alexander of Milwaukee and Russell Westbrook of Oklahoma City for a spot in the Slam Dunk contest on All-Star Weekend. Fans can vote on NBA.com.
- Dallas is 16-2 in its last 18 games against Portland.
- The Mavericks have played on Christmas just one other time, a win over Sacramento in 2003.