Matt Rodgers passed for 276 yards and a touchdown to help lead the 22nd-ranked Hawkeyes a close 24-23 win over the 10th-ranked Wolverines.