Upton finished 4-for-5, Adam Eaton added three hits and Jake Elmore drove in two runs for the victors.
Wade Miley (15-9) earned the decision despite allowing five runs on eight hits over 5 1/3 innings. He walked three and struck out six.
Padres starter Casey Kelly (1-1) was rocked for six runs on eight hits, lasting just 2 1/3 innings.
Logan Forsythe belted a two-run homer for San Diego.