Robert Washington ran 4 yards for a touchdown with 11:36 to play, and Cook threw an interception returned 37 yards for a touchdown by Jamauri Jackson with 6:04 remaining.
Dayton (3-4, 2-3) has lost back-to-back games for the first time this season. It plays Butler at Welcome Stadium at 1 p.m. Saturday in its second-to-last home game.
Dayton and Valparaiso (2-5, 2-2) flipped spots in the standings with the Flyers falling to seventh place and the Beacons moving into sixth. Valparaiso beat Dayton for the first time since 2017 and for the fourth time in 30 meetings.
Dayton trailed 14-3 after the first quarter. After Sam Webster got the Flyers on the board with a 20-yard field goal, Valapraiso scored two touchdowns in a four-minute span.
Ben Nimz capped a 10-play, 77-yard drive with a 6-yard touchdown pass to Jake Vickers. Cook threw an interception that Austin Chilton returned 36 yards to the Dayton 15-yard line. Three plays later, Washington scored on a 2-yard run.
Dayton answered with a five-play, 73-yard drive capped by a 3-yard touchdown pass from Cook to Jake Chisholm. The Flyers took a 17-14 lead on their next possession as Chisholm scored on 14-yard run.
Webster kicked his second field goal, from 31 yards, in the final minute of the third quarter to extend Dayton’s lead to 20-14.
Cook completed 16 of 36 passes for 247 yards. Chisholm gained 57 yards on 19 carries. Luke Brenner caught two passes for 73 yards.
About the Author