Upton capped a three-hit, three-RBI night for the Diamondbacks with a two-run, tape-measure blast that landed in a second-deck restaurant in left field.
Johnson drove in three runs with two solo homers and an RBI triple while Miguel Montero collected five RBI, including a two-run homer, as Arizona logged its 15th win in 17 games.
Gerardo Parra added a bases-empty shot for the red-hot D-backs, who unleashed a 19-hit attack and took over first place in the National League West by a half-game over San Francisco.
Joe Saunders (2-5) earned the win, surrendering four runs on seven hits over six innings, walking two and striking out seven.
Florida's Chris Volstad (2-4) was stung for five runs on eight hits before being knocked out after 3 1/3 innings.
Gaby Sanchez smacked a three-run homer for the Marlins.