Hoyer, starting for the injured Brandon Weeden, had hooked up with Cameron for TDs twice earlier in the game, but the late score was the decisive blow as Cleveland (1-2) earned its first win under new head Coach Rob Chudzinski.
Hoyer completed 30-of-54 passes for 321 yards, three touchdowns and three interceptions while Cameron finished with six catches for 66 yards.
Josh Gordon returned from a two-game suspension to haul down 10 passes for 146 yards and a touchdown.
The Vikings (0-3) were led by Christian Ponder, who completed 25-of-42 passes for 228 yards and an interception.
The Minnesota signal-caller also rushed five times for 46 yards and two touchdowns in the loss.