The Nuggets scored the final 11 points and avenged a three-point loss to the Lakers in Los Angeles less than 24 hours earlier.
Bryant scored 16 points to become the sixth player in NBA history to score 28,000 career points. He is first among active players and is 584 points behind former teammate Shaquille O'Neal.
Reaching the benchmark came on a night when Bryant was 6 of 28 from the field and 1 of 8 from 3-point range.
"We were trying to be aggressive on him and trying to make him take some bad shots," said Gallinari, who spent much of the game defending Bryant. "When you play defense against him he can make some tough shots. But we did a pretty good job."
|More on Nuggets-Lakers|
Bryant came into Sunday needing just four points short of 28,000 but he didn't get it until he hit a free throw with 10:43 left in the third quarter.
He had a rough start to the night and it never got better. Bryant missed his first five shots and committed two offensive fouls before sitting in the final minute of the first quarter. He returned midway through the second, hit a 3-pointer but missed his next four.
"We've got tough defenders," Lawson said. "Kobe's a great player, he probably had an off-night tonight, but, still, we played great defense."
"He looked tired. I'm glad we were putting pressure on him and making him take tough shots," he said.
After a seesaw battle for most of the final period, the Nuggets closed strong to win it.
Gallinari had two fast-break layups to give Denver a two-point lead with 2:07 left. After Pau Gasol missed a short turnaround jumper, Lawson's layup gave the Nuggets a 94-90 lead with 1:20 left.
"It was big," Lawson said. "Getting easy layups, making free throws and getting stops. We needed that, especially after the last game."
The Lakers could have used a strong night from Bryant to complement the play of the Lakers' post players. Gasol had 20 points and 11 rebounds and Andrew Bynum had 18 points and 16 rebounds, but it wasn't enough against Denver.
"I think fatigue had a lot to do with this loss because we weren't playing very smart," Bynum said.
Bryant missed a 3-pointer from the top of the circle near the end and Al Harrington hit a 12-foot jumper to make it 96-90 with 49 seconds left.
The Lakers took a 90-88 lead on Bryant's layup with 2:47 left and didn't score again.
"He's got to continue to find his stroke," Lakers coach Mike Brown said of Bryant. "I told the entire team that we shot too many jump shots. We've got to drive the ball or get the ball inside, one of the two. We didn't do a good job with either today."
The Nuggets held a 26-5 edge in fast-break points.
"I feel they have size at every position on the court and I feel we have speed at every position on the court," Nuggets coach George Karl said. "The only way I know to incorporate it into a strategy is try to play fast and quick."
Trailing by 11 at halftime, the Lakers came out strong in the third quarter. Bynum scored seven points in the first four minutes, including a three-point play that tied it at 50.
Denver didn't hit its first field goal of the second half until Lawson's drive gave the Nuggets the lead back with 7:03 left. Gallinari followed with Denver's first 3-pointer of the game to make it 55-50.
- Denver was 2 for 18 from 3-point range.
- The Lakers have played six games in the first eight days of the season, including three in three nights to open the schedule.
- Lawson has scored in double figures in four of Denver's first five games.
- Denver came into Sunday second in scoring in the NBA but 24th in 3-point shooting.