PORTLAND, Ore. (AP) -- Avoiding a third straight loss wasn't easy for the Phoenix Suns.
The Suns built a 23-point lead against the Portland Trail Blazers, saw most of it slip away late, then held on for 97-92 victory Tuesday night.
That snapped a two-game losing streak. Phoenix hasn't lost three in a row since last season.
"We played tonight like we were trying to conquer something," Amare Stoudemire said. "We've got to keep that mentality."
Stoudemire scored 22 points for the Suns, who have struggled with adjusting to new center Shaquille O'Neal in the lineup.
Before the victory over the Blazers, the Suns had lost four of their last six and had surrendered the top spot of the Western Conference's Pacific Division to the Los Angeles Lakers.
O'Neal, acquired in a Feb. 6 trade, finished with six points and 13 rebounds.
"I thought Shaq made his presence felt, especially in the first half. We used him the way we want to," Suns coach Mike D'Antoni said. "He's comfortable with that role."
Portland struggled on both ends, but Steve Blake's layup early in the fourth quarter narrowed it to 79-73.
Portland pulled to 83-81 on Joel Przybilla's layup with 7:41 left before Phoenix scored six straight. The Blazers kept up the pressure, and Jarrett Jack's layup squeezed it to 89-87.
Stoudemire's two free throws made it 91-87 with 41 seconds left. It appeared that the Blazers could have a chance when Brandon Roy's layup was tapped in by Channing Frye, but Frye was called for offensive basket interference and the Suns held Portland off the rest of the way.
"They built a lead that was tough to dig ourselves out of, but in the second half we played the way we are capable of playing and got ourselves back in it and gave ourselves a chance to win," Blazers coach Nate McMillan said.
Roy had 25 points for Portland, which has lost five of its last seven with hopes for the playoffs slipping away. Travis Outlaw added 14 points.
The Suns have won 11 of the last 12 games against the Blazers, including seven straight.
The Suns jumped out to a 12-5 lead early on Stoudemire's flying dunk over 7-foot-1 Przybilla. Phoenix led 29-20 at the end of the first quarter, as the Blazers struggled with five turnovers.
Stoudemire's jumper put Phoenix up 40-24 and the Blazers continued to struggle. Raja Bell's jumper made it 51-30, the Suns' biggest margin of the first half.
"We're still a work in progress," O'Neal said. "But if we can play like we did in the first half, we'll be all right."
The Suns, who led 60-41 at the half, outrebounded the Blazers 26-16. Portland shot just 36 percent and was 0-for-6 from 3-point range. Portland wound up shooting 41 percent for the game, and narrowed the rebound margin to 42-39.
"We're still kind of an enigma to ourselves," Portland's James Jones said.
Earlier in the day, the Suns announced they had signed guard Gordan Giricek to a contract for the rest of the season. The 6-6 Croatian was waived by the Philadelphia 76ers on Friday.
Giricek has averaged 9.6 points in 362 NBA games. He had two points in seven minutes against the Blazers.
The Suns and Blazers were playing for the first time this season. ... The Suns signed forward Linton Johnson to a second 10-day contract on Tuesday. ... NBA commissioner David Stern attended the game and addressed the Seattle SuperSonics' situation, reiterating what he said during All-Star weekend. "They will likely move whenever their lease is over or they're allowed by the court to move," he said. ... Stern said he was at the game to honor the Blazers for the turnaround the team has made in recent years. He said he saw firsthand how Portland was bringing back fans because his cab driver was wearing a Roy jersey and showed off his two tickets to Tuesday's game.