Justin Upton broke up the no-hit bid with a single to lead off the seventh, and Yangervis Solarte followed with a single. Bumgarner responded by fanning Jedd Gyorko and Clint Barmes around a Will Middlebrooks fly to center to keep the shutout intact.
Bumgarner struck out pinch-hitter Austin Hedges to start the eighth to put the finishing touches on his best start of 2015. Hedges, a catcher and defensive specialist, was called up from Triple-A El Paso on Monday to make his MLB debut.
"He had great stuff. Good fastball, good slider, curveball, changeup," said Giants manager Bruce Bochy. "He hit his spots. We got away with some mistakes because of the job he did."
The Giants were coming off a three-game sweep of Mike Trout and the Angels.
San Francisco did all of its damage in the third inning. Nori Aoki led off with a single and stole second in front of Joe Panik's walk that put two on with no outs. Angel Pagan opened the scoring with an RBI single to left.
Buster Posey then walked to load the bases and two batters later, Justin Maxwell drew a walk to force in a run. Tyson Ross induced a double-play grounder off the bat of Casey McGehee after that, but the damage was done.
Ross took the tough-luck loss after allowing both runs on seven hits over seven innings of work.
The Padres have lost four straight games with Ross on the mound.
San Francisco committed four errors ... The Padres designated catcher Wil Nieves for assignment to make room for Hedges ... San Diego went 0-for-8 with runners in scoring position.