Upton hit his team-leading 25th home run of the season in the second inning for a brief lead, one of the few blights against former Padres ace Jake Peavy, who gave his former team fits all night.
The Padres finished with four hits -- none bigger than Upton's blast to left field.
"Every team's record is better when you score first," Padres interim manager Pat Murphy said. "I felt good about it."
Peavy, who won the 2007 National League Cy Young with the Padres, allowed two hits, both to Upton, over seven innings, tying San Diego's hitters in knots with his stuff that still plays well.
Upton's home run, projected by Statcast™ to land 406 feet away, gave him the most by a Padres player since Chase Headley hit 31 in 2012. Upton later added a single, punching a hit into right field in the seventh inning off Peavy.
It was Upton's first home run since Aug. 30 and his third in 228 plate appearances at AT&T Park.
"I've come here and gotten my hits, but for the most part, they have pitched me pretty tough," Upton said of the Giants. "I've just got to take my hits when I can get them."
Upton did more than just hit Friday.
In the second inning, and with the Padres leading, 1-0, Angel Pagan slapped a hit to left field, scoring a run. But Upton came up firing, throwing a strike to catcher Derek Norris to nab Ehire Adrianza at the plate to keep the game tied. It was his ninth assist of 2015 -- a career high.
The only other Padres hits on Friday were by single by Cory Spangenberg and then a ninth-inning single by Matt Kemp, who extended his streak of reaching base to 31 consecutive games.
Corey Brock is a reporter for MLB.com. Keep track of @FollowThePadres on Twitter and listen to his podcast. This story was not subject to the approval of Major League Baseball or its clubs.