Klay Thompson had 28 points and eight rebounds, David Lee finished with 19 points and 11 boards and the Golden State Warriors snapped a season-high, six-game losing streak by beating the Phoenix Suns 108-98 on Wednesday night.

Jarrett Jack added 21 points off the bench and Stephen Curry scored 20, with both making some key shots late to secure Golden State's first victory in almost three weeks. The Warriors hadn't won since routing Phoenix 113-93 on Feb. 2.

Goran Dragic had 20 points and 10 assists, and Jermaine O'Neal added 17 points and 12 rebounds for the Suns, who have lost five straight to Golden State, including all three meetings this season.

After losing at Utah on Tuesday night in the first game since the All-Star break, Warriors coach Mark Jackson said about 90 minutes before tipoff Wednesday that "this is the biggest game of the season for us." He said the game would reveal a lot about his team's character and resolve.

Just as the coach had hoped, the heart and hustle that defined Golden State's surprising run this season slowly started to return — along with its shooting stroke. Facing the Western Conference's worst team helped, too.

The Warriors began 14 for 19 from the floor behind their streaky second-year shooting guard. On a night the team gave away promotional bobblehead dolls of him, Thompson made his first six shots, including a pair of 3-pointers that gave Golden State a 29-19 lead late in the first quarter.

About the only first-half highlight on defense for Phoenix came when O'Neal blocked Harrison Barnes' dunk attempt at the rim, then waived his right index finger at the rookie. The Suns still struggled to slow down Thompson and the rest of the Warriors, who went ahead 55-44 late in the second quarter.

Jared Dudley's dunk and 3-pointer highlighted a brief burst for Phoenix midway through the third quarter. The Suns sliced Golden State's lead to 68-67, quieting an increasingly anxious home crowd.

The Warriors regained the momentum on Thompson's touch again. He capped another spurt by tossing a pass ahead to Carl Landry, whose reverse layup was swatted after it hit the glass by Wesley Johnson for a goaltending call just before the buzzer, lifting Golden State back in front 85-76.

Every time the Suns started to get close late, Golden State regrouped in a hurry.

After scoring the first three points of the fourth quarter, the Warriors started a 9-2 run that Jack finished off with a 3-pointer for a 94-84 lead. He waived his hands and skipped back down court in celebration, talking to fans all along the way.

O'Neal's put-back brought Phoenix within four later in the quarter, but that last-ditch threat ended quickly. Curry made a bank shot and swished a 3-pointer, Lee followed with a turnaround jumper and Jack hit another from beyond the arc to put the Warriors ahead 104-92 with 1:45 remaining.

NOTES: Earlier Wednesday, the Suns sent a future second-round draft pick to Houston in exchange for F Marcus Morris, who will join his twin older brother, Markieff, down in the desert, according to a person familiar with the decision who spoke on condition of anonymity because the trade hadn't been finalized. ... A moment of silence was held before the game for Lakers owner Jerry Buss, who died Monday at 80 years old. ... Thompson's 14 points in the first quarter were the most he had ever scored in the opening quarter. His career high is 32 points at Cleveland on Jan. 29.