Wide receiver Scott Long had a career day for the Cardinals, with 146 yards receiving on five catches, plus a touchdown.
The Cardinals (2-3) trailed 16-7 at halftime but scored touchdowns, including a 2-point conversion, on their first two possessions of the second half to go ahead 22-16.
The Golden Eagles (3-3) took back the lead 23-22 after a 13-yard touchdown run by Tory Harrison. Damion Fletcher and Harrison combined for 161 rushing yards and two touchdowns.
A 64-yard kickoff return by Louisville's Trent Guy after Harrison's touchdown helped put the Cardinals in position for their game-winning field goal.