Dan Persa threw for 318 yards and two late touchdowns to secure the Wildcats a 21-17 victory over the 13th-ranked Hawkeyes.