Tim Hardaway Jr. scored 19 points to help No. 20 Michigan defeat Purdue 66-64 on Tuesday night.
Jordan Morgan had 12 points and seven rebounds, Stu Douglass scored 12 points and Evan Smotrycz added 10 points for the Wolverines (16-5, 6-2), who entered the game in a tie for first place in the Big Ten.
Michigan shot 54 percent from the field and outrebounded the Boilermakers 30-23.
Lewis Jackson scored 17 points and Robbie Hummel added 16 for the Boilermakers (14-7, 4-4). Hummel missed a 3-pointer that could have given the Boilermakers the lead in the final seconds.
Purdue, which was coming off an 83-58 loss to No. 10 Michigan State, has lost two of its past three at home after a 26-game home winning streak.
Michigan led 65-64 and had the ball in the final minute, but Jackson stole the ball from Morgan. Purdue's Ryne Smith missed a 3-pointer from the right corner but came up with the ball in a scramble. Hummel missed a 3-pointer from the top of the key, and Michigan got the rebound. The Wolverines ran the clock down to 3.8 seconds before the Boilermakers fouled Smotrycz. He made the first and missed the second free throw, and Jackson's heave from near midcourt bounced off the backboard.
Hummel didn't take a shot for more than 12 minutes at the start of the game, but he got hot at the end of the first half. He scored Purdue's last seven points before the break to cut the Wolverines' lead to 30-28.
Michigan started strong in the second half. Baskets by Hardaway and Zack Novak pushed the lead to 39-31 with 17:01 to play.
Michigan led by 10 points before the Boilermakers rallied. A 3-pointer by Smith and a basket by Johnson cut Michigan's lead to 44-39 and forced the Wolverines to call a timeout.
A 3-pointer by Byrd and a three-point play by Anthony Johnson gave Purdue a 49-47 lead.
Michigan's Trey Burke scored to tie the game at 61 and set up the final 3 minutes.
Follow Cliff Brunt on Twitter: www.twitter.com/cliffbruntap