Colorado once again allowed a healthy lead to slip away in the second half Friday, but the Buffaloes again had an answer down the stretch, rallying to take a 65-54 win over Milwaukee at the CU Events Center.

Tad Boyle's Buffs improved to 8-3 while the Panthers fell to 2-7.

Colorado led by four at the half and built its lead to nine, 39-30, early in the second half. But the Panthers rallied with an 18-7 run to take the lead before the Buffs regrouped to put together a 12-0 surge in the final minutes for the win.

Evan Battey led CU with 15 points, Jabari Walker added 14 — all in the second half, with eight in the decisive run — and Elijah Parquet scored 11.

Jordan Lathon led Milwaukee with 14 points while CU held Panthers leading scorer Patrick Baldwin Jr.  to just 12 points on 3-for-13 shooting, including 2-for-10 from 3-point range.

The game was a near mirror image of Wednesday's 60-57 win over Eastern Washington, when CU let a 15-point lead turn into a deficit late before clawing back for the win.

"It's the old Forrest Gump line," Boyle said. "We're like a box of chocolates — you never know what you're gonna get. That doesn't mean night to night. It means timeout to timeout, first half to second half … But our guys did a good job down the stretch making plays and we got the win."

CU's offense struggled again for much of the game, but the Buffs' defense held Milwaukee to 36 percent shooting (20-for-55) and Colorado held a 39-30 rebound edge.

"We're 76-5 when we hold an opponent under 40 percent and outrebound them by more than eight," Boyle said. "Seventy-six and five  over the last 11 and a half years. That's a pretty good record. It doesn't guarantee that you're going to win the game, but you put yourself in a position to win. We did that against Eastern Washington and we did it tonight."

HOW IT HAPPENED: Thanks to 15 points from the bench in the first half, the Buffs led by as much as seven early and built the margin to nine in the second half when a Battey bucket gave CU a 39-30 lead three minutes in.

But Colorado couldn't protect the lead. Milwaukee slowly but steadily chipped away, and a Baldwin 3-pointer with 8:58 to play completed an 18-7 run to give the Panthers a 48-46 lead. Colorado endured an 0-for-10 stretch from the field to aid Milwaukee's comeback, but finally regained the lead momentarily on two free throws from Elijah Parquet and one from Walker.

"We had some really good open three looks that just didn't go in," said Boyle after the Buffs went just 3-for-15 from long range. "At some point, you have to make shots when you're open. We have got guys that are better shooters than their numbers indicate. I just want them to take great shots. These guys have worked on their games a lot. At some point the shots will start going in."

The two teams then traded the lead three more times in the ensuing minutes.

Battey finally ended Colorado's drought from the field with an offensive rebound and bucket to give CU a 51-50 lead with 5:37 to play. Milwaukee temporarily regained the edge with a Baldwin bucket inside, but the Buffs then put together their decisive 12-0 run.

Battey started the run with a pair of free throws to give CU a 53-52 lead with 3:41 to play, and Walker took control from there.

The CU sophomore drove for a shot over Baldwin to extend CU's lead to three, then stole the ball from Baldwin for a dunk on the other end that also resulted in a free throw.

CU's defense, meanwhile, produced three straight stops and with 1:40 to play, Walker drained a long 3-pointer to give the Buffs a 61-52 lead.

The Buffs then held the Panthers at bay over the final 90 seconds for the win.

"Down the stretch we made plays," Boyle said. "Jabari struggled most of the night (he was 1-for-8 from the field before his personal 8-0 run), but down the stretch he made plays. Evan struggled at times, but he made plays down the stretch, and that's what you have to do to win games."

The game did not start well for Colorado. The Buffs missed their first seven field goal tries and did not score until a Lawson Lovering layup put Colorado on the board nearly six minutes in.

The good news for the Buffs came from Milwaukee's shooting, as the Panthers hit just two of their first 10 shots and Lovering's bucket pulled CU to within 5-2.

Both teams continued to struggle from the floor, but the Buffs finally took the lead, 13-11, on a Battey offensive rebound and bucket with 7:50 to play in the half. Sophomore Luke O'Brien came off the bench to add seven early points — he finished with a career-high nine — and CU built its cushion to as much as seven, 26-19.

Milwaukee, though, managed to shave the lead to 28-24 heading into intermission.

TURNING POINT: After Milwaukee took its last lead of the game, 52-51, with just more than five minutes to play, the Buffs found their offense. Battey started a 12-0 CU run with two free throws following a timeout and Walker then delivered eight straight points, with CU's defense collecting three critical stops in the stretch.

WHAT IT MEANS: The Buffs have now won two in a row after suffering back-to-back losses and will get a few days off for final exams.

KEY STATISTICS: Colorado held Milwaukee standout Patrick Baldwin Jr. to just 12 points on 3-for-13 shooting, including 2-for-10 from 3-point range … CU's defense held Milwaukee to 36 percent shooting (20-for-55) … The Buffs had a 39-30 rebound edge … CU point guards Keeshawn Barthelemy and K.J. Simpson combined for seven assists and just two turnovers.

QUOTEWORTHY: "I would sure like to put 40 minutes together, and we haven't even come close this year. We haven't even scratched the surface. We played four minutes of good basketball tonight. We have to be more consistent." — CU coach Tad Boyle

NEXT UP: The Buffaloes have a weeklong break for final exams before returning to the court on Saturday, Dec. 18, for a noon game with Cal State Bakersfield at the CU Events Center (Pac-12 Networks).