Aldridge scored 29 points, including a 13-foot game-winning jumper with 2.4 seconds remaining, to lead the Trail Blazers to a 103-101 victory over the Bucks.
The early shooting "felt good and carried over into the game," Aldridge said.
"The thing that's great about our team is that we've got a lot of guys who can step up and make shots in the fourth quarter," said Roy, who scored 20 points and handed out 10 assists.
Steve Blake, a former Bucks player, added 21 points for Portland. The win was a big one for Portland as the Trail Blazers embark on a five-game road trip, trying to work their way back into the tough Western Conference playoff race. The team is currently in 10th place.
The Trail Blazers were coming off two tough losses: a six-point defeat to Golden State and a five-point loss to Phoenix in their last game Tuesday at Portland.
Trail Blazers coach Nate McMillan was proud that with the victory, his team was able to equal its 32-win total of last season in just 62 games.
"It's a process and that's what we talk about," he said. "We want to continue to improve each year. The goal is to bring a championship back to this city."
"Aldridge made some huge plays," Bucks coach Larry Krystkowiak said. "We had some missed shots and turnovers. It's frustrating."
Redd said Aldridge was the difference in the fourth quarter as he kept hitting tough shots.
"Aldridge was huge for them tonight," he said. "There was not much we could do to stop him."
The Bucks were without starting guard Mo Williams, who missed his second straight game with an abdominal strain, and forward Yi Jianlian, who also missed his second straight game with a sprained ankle. Both players are listed as day to day.
The Bucks used an 11-2 run to start the fourth quarter to grab an 89-81 lead with 7:30 remaining when Royal Ivey scored on a layin.
Portland fought back to grab a 92-91 lead with 3:45 remaining when Aldridge hit the second of two short jumpers. James Jones then hit a 3-pointer from the corner to give Portland a 95-91 lead. Aldridge hit a short hook shot to extend the lead to 97-91. Redd followed with a driving layup and then scored again with 1:26 remaining to make it 97-95.
Roy hit a short baseline jumper to make it 99-95 with 1:20 remaining.
Redd scored and was fouled with 1:04 remaining. He hit the free throw to make the score 98-97. Martell Webster was able to score on a reverse layup with 52.5 seconds remaining to extend the lead to 101-98.
Redd scored on a driving layup with 43.6 seconds remaining to make the score 101-100.
Blake missed a jumper with 27.3 second remaining. After a 20-second timeout, Roy was called for a foul trying to deny Redd the ball. Redd hit one of two free throws to tie the game at 101-101.
Redd said he was disappointed he missed the late free throw, the second time in the past week he had missed one late in a game.
"It's frustrating, but it wouldn't have matter because even if I would have made it, we still would have lost by one," he said.
- Redd was in the starting lineup Friday despite six stitches in his nose. He left the Bucks' win over Seattle on Wednesday after a collision with the SuperSonics' Kevin Durant.
- The Trail Blazers beat the Bucks 117-113 in overtime on Dec. 9 in Portland in the teams' first meeting of the season. Roy's 20 points and 10 assists was his seventh double-double of the season.