Pau Gasol scored 28 points, Bryant had seven of his 18 in the last 6 1/2 minutes, and the Western Conference-leading Lakers struggled to a 115-110 victory Wednesday night.
Andrew Bynum added 17 points and 11 rebounds, Sasha Vujacic scored a season-high 15 points and Derek Fisher had 13 for the Lakers (18-3), who were coming off a lethargic 113-101 loss at Sacramento on Tuesday night and didn't clinch this victory until the final minute.
Phoenix also was without former Lakers star Shaquille O'Neal, whose 92-year-old great-grandmother died this week. O'Neal was in New Jersey for funeral services and hopes to return in time to play Friday night against Orlando. O'Neal scored 35 points Tuesday night -- his most in nearly three years -- in a 125-110 victory over Milwaukee.
"That's what always happens when a team has eight players, nine players," Bryant said. "They always come out with a lot of energy. We did a good job down the stretch."
The Lakers held off the Suns by making 17 of 22 foul shots in the fourth quarter including eight of 10 in the last 30 seconds. But their defensive difficulties continued -- they've allowed the opposition to score 100 or more points in seven of their last 10 games.
"Our record is great," Bynum said. "[But] the way we're playing, we're not going to beat the good teams."
Gasol agreed, saying: "We're not playing our best. Most of the time, I think we can do a lot better defensively. We're giving up a lot of points. We have to consciously every single game go out there and be focused on our defense. We know we can score. We also know that if we want to get to the next level, the championship level, we have to be consistent on our defense. It's something that we haven't been doing very well."
Lakers coach Phil Jackson said he thought the Suns brought the best out of the Lakers.
"We weren't playing our best when we started the game, but we eventually had to play," Jackson said. "Maybe not the best, but we had to play well enough to win."
Matt Barnes had season-high totals of 25 points and 10 rebounds to lead Phoenix. Grant Hill scored 23 points, Amare Stoudemire had 21 points and 11 rebounds, and Leandro Barbosa added 18 points for the Suns. Steve Nash shot 2-of-12 and was held to seven points and nine assists.
"It was a huge challenge for us," Stoudemire said. "We didn't have our guys tonight and were short-handed, but we all knew what we had to do. For us to go out and compete, it took a total effort from everybody. We came out with a lot of energy and intensity and played well despite having only eight guys out there playing. So we can accept that. We were happy with the way we played."
Barbosa scored five straight points early in the fourth quarter to give the Suns an 86-85 lead. But a basket by Gasol and two more by Lamar Odom put the Lakers ahead 91-86, and they led the rest of the way.
It was 91-90 when Bryant made a 3-pointer and Odom added two free throws to give the Lakers some breathing room. The Suns weren't closer than four points after that.
"We gave ourselves a chance to win that ballgame, so I was pleased with what I got," Suns coach Terry Porter said. "It is always difficult [being short-handed], but in this league, that happens sometimes. You just have to have someone else step up."
Barnes scored 10 points during an 19-6 run that gave the Suns a 76-74 lead, their first of the game. Nash's 3-pointer -- his first field goal in nine attempts -- put Phoenix on top. The Lakers led 82-81 entering the final period.
With Gasol and four reserves on the floor, the Lakers scored 10 straight points early in the second quarter for a 39-27 lead -- largest of the game for either team. But the Suns hung tough, getting as close as three points before Los Angeles settled for a 53-48 halftime lead. Bryant was hardly noticeable in the opening 24 minutes, shooting 2-of-7 for four points.
Phoenix's Alando Tucker, who had arthroscopic surgery on his left knee Nov. 4, was in uniform despite not being ready to play, giving the Suns a ninth player on the bench. The minimum requirement is eight. ... The Lakers beat the Suns 105-92 in Phoenix last month. With this victory, they've won five of the last six games between the teams after Phoenix went 10-2 in the previous 12 matchups. ... Seldom-used Luke Walton made his first start of the season in place of Vladimir Radmanovic, who had eight points in 22 minutes Tuesday night. Walton had eight points and six assists. Jackson said the move was made to get more ball movement, adding Radmanovic was not in his dog house. ... The Lakers used the same starting lineup, of Bryant, Fisher, Bynum, Gasol and Radmanovic, in each of their first 20 games. ... Rookie Robin Lopez started in O'Neal's place and had eight points.