MILWAUKEE - The game was getting close to five hours long, the bullpen was taxed and the San Diego Padres were out of position players.

Two days after getting hit by a pitch on his left hand, Derek Norris and Melvin Upton Jr. combined for a one-two punch in the top of the 12th inning to help end a roller-coaster of a game.

Norris and Upton hit back-to-back solo homers off reliever Chris Capuano in an 8-7 win over the Milwaukee Brewers on Saturday night. Upton's deep shot off Capuano (1-1) ricocheted off the black backdrop beyond centre for a two-run lead.

Carlos Villanueva, the eighth pitcher used by the Padres, picked up his first save despite allowing Jonathan Lucroy's first-pitch homer to draw Milwaukee within a run with one out. He retired the next two hitters to close out the 12th.

"You've got a lot of guys in this clubhouse that are mentally tough. We stick together. We know it's going to be a grind," Upton said.

Leonel Campos (1-0), who was just recalled from Triple-A El Paso, tossed two scoreless innings of relief for his first major league win.

The Padres hung on despite committing four errors, including two that came in a two-run eighth inning that allowed the Brewers to tie it at 6. The Brewers had fallen behind by four runs in the fifth.

San Diego pitchers allowed 12 walks. Catcher Hector Sanchez, in his Padres debut, was called twice for interference — the second time in the eighth in a play that allowed the Brewers to load the bases for Alex Presley.

Presley lined a hard smash to first for an RBI single. The second run scored after second baseman Jose Pirela retrieved the loose ball in short right, but threw wildly home.

But the Brewers wasted too many other opportunities and stranded a season-high 16 runners.

"It's a frustrating game. Obviously, when you have that many baserunners, it's frustrating," manager Craig Counsell said. "We did such a great job coming back and the bullpen did a great job holding the line there."

BASERUNNING BLUNDER

The Brewers' ninth ended with a double play after Scooter Gennett struck out swinging and Jonathan Villar was thrown out trying to steal third base. That call was confirmed on replay review.

"That was a mistake," Counsell said. "Earlier in the count, that's a play that makes sense, getting to third early. At that point, it wasn't a good decision."

INTERFERENCE TIMES TWO

The game marked the first time that the Padres had been called twice in a game for catcher's interference. Counsell said he thought Sanchez may have been going after the ball a little too aggressively those times.

Said manager Andy Green: "I don't recall ever seeing two in a game. That's an unfortunate circumstance. He caught very well, but those were unfortunate, especially the one late."

KEMPT UP

Matt Kemp snapped an 0-for-14 skid by going 3 for 6 and finishing a triple short of the cycle. Wil Myers went 2 for 5 and hit back-to-back homers with Kemp in the fifth.

"The game was so long, I actually forgot that Matt and Will did it," Upton said.

AFTER 12

Green said he would have fielded a makeshift lineup that included catcher Christian Bethancourt pitching if the game had stretched into the 13th inning.

"It was going to be really interesting. There were literally no options left at that point," Green said.

TRAINER'S ROOM

Padres: Myers left in the top of the ninth after suffering a cramp in his left calf while running out a fielder's choice. Green said it was a precautionary move. ... Norris (left hand) took batting practice and replaced Myers at first in the bottom of the ninth.

Brewers: LF Ryan Braun was a late scratch because of a sore right wrist. Braun who is hitting .367, had a 12-game hitting streak snapped Friday. He did not appear as a pinch hitter.

UP NEXT

Padres: RHP Cesar Vargas (0-2) makes his fifth start since being called up from Double-A San Antonio on April 23. The pitching staff has allowed runs in the first inning of each of the last two games following a 23-inning scoreless streak.

Brewers: RHP Zach Davies (1-3) got the win in a 5-0 victory against San Diego on Sept. 30. He allowed five hits and struck out six in seven innings in his only career start against the Padres.