Wesley Matthews had a nice rookie season for the Utah Jazz last year, averaging 9.4 points in just under 25 minutes a game.

Then the Portland Trail Blazers signed him to a five-year, $34 million contract in the summer, and no one could really blame the Jazz when they declined to match the eye-opening offer for a second-year player who was undrafted out of Marquette a year ago.

He was worth every penny on Friday night.

Matthews scored 29 of his career-high 36 points in the first half and the Trail Blazers rolled to a 108-98 victory over the Minnesota Timberwolves.

"It's a blessing, man," Matthews said of his rise from undrafted free agent to multimillionaire. "Every single one of us in this league is blessed to be living out our dreams and playing the game we love. I'm just appreciative of every day. Keep working. Stay humble."

LaMarcus Aldridge added 28 points and 10 rebounds for the Blazers, who beat Minnesota for the 14th straight time.

Kevin Love had 30 points and 19 rebounds for the Timberwolves, who have lost four of their past five games. Michael Beasley chipped in 17 points, but hobbled through the second half after taking a nasty fall on his right hip.

Matthews hit his first seven shots from the field and was 7 for 8 from 3-point range to lead the Blazers to a 63-43 lead at halftime. His seven 3s were a franchise record for a half and one off the team record for a game.

Matthews has been filling in at shooting guard for the injured Brandon Roy, who has not played since Dec. 15 because of a left knee injury. He topped 30 points for the third time this season, but had struggled in his last three games, going 10 for 35 from the field.

"My job was easy," Matthews said, crediting his teammates for finding him. "Just got to shoot the ball."

He made it look that way in the first half.

Matthews hit all five of his 3-pointers and scored 19 in the first quarter. His previous career high for points in a game was 30.

"He had it going," Aldridge said. "I was trying to find him, too, to keep him going. I wasn't even looking to shoot it."

The Timberwolves committed 19 turnovers, leading to 25 Portland points, a problem that has plagued them all season long.

Two nights after their most embarrassing defeat in a season full of them — a 108-105 home loss to a Bobcats team that was missing three starters — the Wolves again delivered a listless performance lacking effort, energy and focus on the defensive end.

Coach Kurt Rambis said he was "very concerned" by the recent run of poor starts.

"All the things that we talked about that we showed the guys, we just didn't do a good job of what we wanted to do game-plan wise," Rambis said.

Matthews and the Blazers had their "3 goggles" going for the entire first half, hitting nine from long range and jogging back down the court with their thumbs and pointer fingers forming a circle over their eyes and their other three fingers held up.

"If he's doing that," coach Nate McMillan said, "that means something is going down."

Beasley curiously showed up for the game with scratches all over the right side of his face, but that didn't stop him from scoring eight points in the period. But as he has been all season, Beasley was slow to get out on the perimeter against his man, and Matthews benefited from open look after open look.

Beasley declined to comment after the game and Rambis said he didn't know how Beasley got the scratches on his face.

Minnesota cut a 24-point deficit to nine with 1:34 to go in the game, but two more turnovers down the stretch ended any hope for a comeback.

The Wolves dropped to 9-28 on the season and Rambis fell to 24-95 in his short career as coach.

"We dug ourselves too big of a hole to dig out of," Timberwolves forward Anthony Tolliver said. "We gotta get off to better starts."

NOTES: Love had a 20-15 game for the 17th time this season. Last year Dwight Howard led the NBA with 19 for the whole season ... Blazers PG Andre Miller had 16 points and 10 assists to pass Muggsy Bogues for 16th on the career assist list. ... Tolliver played for the first time since Dec. 3 because of a sprained MCL in his right knee. He finished with 10 points in 21 minutes. ... Wolves C Darko Milicic had another foul-plagued night. He picked up two in the first for the seventh time in 13 games and had four 16 seconds into the third quarter. ... Blazers G Rudy Fernandez did not play in the second half because of illness.