Jordan Marshall had career highs with 185 yards rushing and three touchdowns, helping No. 21 Michigan hold off Purdue for a 21-16 win.