PHOENIX -- Gerald Green was in a generous mood after his best game of the season.
Green then pledged to pay any fine the NBA might hand down to rookie teammate Alex Len, who was ejected after a flagrant foul following an altercation involving the Lakers' Nick Young in the second quarter.
"Hope the NBA doesn't do anything, but if it does, I'll take care of it," Green said.
Green was careful with his shooting, shying away for 3-point attempts and finishing 12 for 18 from the field.
"I felt like I wasn't settling for my jumper," Green said. "Coach is still telling to shoot the ball so I'm going to continue to do that. I just tried not to take as many 3s as I normally do."
Channing Frye had 10 of his 20 points in the fourth quarter and Markieff Morris scored 17 of his 24 in the first half to help the Suns snap a three-game skid. Goran Dragic added 18 points, 10 rebounds and seven assists.
Los Angeles, already short-handed with five players -- including star Kobe Bryant -- out with injuries, lost leading-scorer Young midway through the second quarter when he was ejected for throwing a punch at Dragic.
After being hit in the face by Len going up for a layup, Young retaliated by shoving Len and then swinging at Dragic's face while being pushed away from the fray.
Len was tossed and the Suns' Marcus Morris was issued a technical foul for his role in the fracas. Young, who had nine points at the time, took off his jersey and tossed his undershirt into the crowd on his way to the locker room.
"I just reacted and got caught up in the moment. Like anyone would have," Young said. "It was a tough foul."
Young expressed his displeasure with his teammates for not coming to his defense after the Lakers lost for the sixth straight time. Young could face a suspension for his actions and leave the Lakers in more dire straits.
"What I'm mad about is it was 1-on-5," Young said. "I felt like if someone would have gotten in the middle of everything it wouldn't have escalated as much. I felt bad for Dragic. He was right there. I didn't throw (a) punch. I was trying to shove people out of my way. I was getting pushed further back. It was more trying to get out."
The Lakers led by 13 points in the second quarter after Young's ejection. A 3-pointer from the top of the key by Kendall Marshall gave the Lakers a 56-43 lead.
The Suns finished the quarter on an 11-2 run, topped off by P.J. Tucker's layup at the halftime buzzer to cut the Lakers' lead to 58-54.
The Suns led by eight in the first quarter, but the Lakers scored the last nine points of the period to take a 27-26 lead into the second. Back-to-back baskets by Chris Kaman put Los Angeles ahead.
Green scored 16 of his points in the third quarter, and his block of Gasol's layup attempt started a fast-break resulted in a basket by Dragic that put the Suns ahead 72-70.
Green's step-back 20-foot jumper gave the Suns a 79-74 lead with 4:09 left in the third. His chest-pass assist for Frye's dunk made it 86-79 for Phoenix with 55 seconds left.
"We started attacking the rim," Frye said. "We need to be aggressive, take advantage of mismatches and get out and run."
The Lakers tied the score at 91 with Johnson's 3-pointer at the 9:53 mark of the fourth quarter. But back-to-back layups from Suns reserve Ish Smith made it 102-93, and the Suns were never seriously threatened the rest of the way.
"We're not winning and again, we gave up 30-some (37) in transition and about 60 or 70 (64) in the paint, and that's where it's been the last five or six games," Lakers coach Mike D'Antoni said. "We've got to be able to solve that problem somehow."
The Suns are a win away from their first regular season sweep of the Lakers since the 2004-2005 season. ... Suns G Leandro Barbosa hurt his right shoulder late in the loss at New York on Monday, according to Phoenix coach Jeff Hornacek. Barbosa did not play Wednesday but Hornacek hopes to have him available Friday against Dallas. ... Hornacek was issued a technical foul in the second quarter after arguing a non-call. ... With three point guards out, the Lakers went with former Suns first-round draft pick Marshall as the starter. Marshall, the 13th overall pick of the 2012 NBA draft for Phoenix, finished with 10 points and 13 assists.