Jon Horford did his best to protect the basket for Michigan, blocking four shots in a game the Wolverines led most of the way.

In the end, top-ranked Arizona's tireless rebounders were too much.

"I feel like they were just throwing it at the rim and just going up and playing volleyball," Horford said. "We have to get tougher in that aspect."

Nick Johnson made six free throws over the final 25 seconds, and No. 1 Arizona held on for a 72-70 victory over Michigan on Saturday after rallying from an 11-point deficit in the second half.

The Wildcats had 17 offensive rebounds, including a crucial one by T.J. McConnell in the final minute, and outscored the Wolverines 34-28 in the paint.

Michigan (6-4) led by one when McConnell hustled to the corner to rebound his own miss with less than a minute to go. Johnson then drew a foul on a drive with 24.6 seconds left. He made both free throws, and Michigan's Nik Stauskas missed at the other end. After a tie-up, the possession arrow gave the Wildcats (11-0) the ball with 9.5 seconds remaining.

Johnson pushed the lead to three with two more free throws, and Arizona fouled Spike Albrecht at the other end. Albrecht made only one of two free throws, and after two more free throws by Johnson made it 71-67, Albrecht made a 3-pointer with 2 seconds left. Arizona's Gabe York added a free throw to end the scoring.

"The 17 offensive rebounds were a huge factor in this game," Michigan coach John Beilein said. "I thought we made a major stride today, even in defeat, of us getting better."

Brandon Ashley scored 18 points for Arizona, which finally wore down Michigan inside in the final minutes.

Glenn Robinson III had 20 points for Michigan, but he did most of his damage in the first half. Caris LeVert contributed 15 points for the Wolverines, but this game was decided by Arizona's late free throws and the one miss by Stauskas when Michigan had a chance to go back ahead.

"This was as quality of a win as you can have, in my opinion, in the country," Arizona coach Sean Miller said. "I felt like today — we're going to be better if we won, we're going to be better if we lost."

Michigan led 37-28 at halftime, and Mitch McGary pushed the lead to double digits with a dunk for the first points of the second half. But Arizona went on an 11-2 run to pull within two.

Michigan led 58-50, but the Wildcats again had an answer. Aaron Gordon and Ashley made consecutive baskets, and a dunk by Ashley cut the lead to two.

Johnson, Gordon and Kaleb Tarczewski had 14 points each for Arizona. Tarczewski went down with what looked like a right leg injury around the midpoint of the second half, but he was able to return.

It's been a quiet start to the season for Robinson, who showed enough potential in 2012-13 that he considered a jump to the NBA after his freshman year. Against Arizona, he showed why he's a definite candidate to play at the next level.

Robinson made all seven of his shots from the field in the first half, including a contested 3-pointer in the final seconds that gave Michigan the nine-point halftime lead.

Opponents were shooting only 27 percent from 3-point range against Arizona coming into the game, but the Wolverines were 6 of 11 in the first half. They finished 8 of 17.

The Wildcats rallied late when they finally started converting around the basket. A three-point play with 2:32 to go by Rondae Hollis-Jefferson gave Arizona its first lead of the second half at 63-62.

The lead changed hands four more times after that — for good when Johnson made it 67-66 with the first two of his six late free throws. He might not have had any free throws if not for McConnell's rebound.

"There's a lot of key plays in the game," Beilein said. "McConnell running down that corner rebound — I think that's the one where we fouled them on the drive — was a key play."