SAN DIEGO (AP) The Chicago Cubs kept committing errors and letting the San Diego Padres hang around long enough to stage the go-ahead rally.
Derek Norris hit a two-run double with one out in the eighth and James Shields struck out 11 in seven innings to lead San Diego to a 4-3 victory against the Cubs on Tuesday night.
The Padres snapped a three-game losing streak in which they scored only six runs.
Norris said the team had been lacking late-inning fight lately.
''We really made an emphasis during our meetings today to get that edge back and it's something that we really pride ourselves on, being a gritty team that's never out of it until the last out is recorded,'' he said.
''It was a great comeback. The pitching is what kept us in tonight.''
The Cubs committed three errors, all by infielders, that led to three unearned runs.
With the score tied at 2 and runners on the corners in the eighth, Norris doubled to left off Pedro Strop, who had just replaced James Russell (0-1).
Pinch-hitter Clint Barmes reached to open the inning when second baseman Addison Russell dropped his fly ball to shallow center for an error. Pinch-hitter Abraham Almonte beat out a bunt single before catcher Miguel Montero fielded Cory Spangenberg's bunt and threw out Almonte at second as Barmes reached third, bringing up Norris.
''We caught a break with Barmes' soft fly ball that Russell couldn't grab,'' manager Bud Black said.
The game marked the return of Cubs rookie slugger Kris Bryant, who starred at the University of San Diego before Chicago took him with the second pick in the June 2013 draft. Bryant made his big league debut against the Padres at Wrigley Field on April 17.
Cubs starter Jason Hammel struck out eight and walked none in seven innings while allowing two runs, none earned, and three hits.
''It was just a tough night,'' Chicago manager Joe Maddon said. ''We've been outstanding on defense. To have three really pedestrian plays beat us, it's tough. Jason Hammel could not have pitched better than he did tonight. It's impossible. He was outstanding. He kept getting better. He kept making pitches.
''Without the errors he probably could have pitched a complete game tonight, just based on the number of pitches thrown, because of pitches he had to throw after the mistakes,'' Maddon added.
Hammel was perfect through four before Bryant overthrew first baseman Anthony Rizzo for a two-base error after fielding Justin Upton's chopper to third. Yangervis Solarte followed with an RBI single.
Although he got a no-decision, Shields reached double digits in strikeouts for the second time in five games. He held Chicago to two runs on six hits, including homers by Chris Coghlan and Dexter Fowler.
''Shields pitched great,'' Black said. ''They took advantage of the few mistakes he made.''
Coghlan also homered off closer Craig Kimbrel with two outs in the ninth, his sixth. It was his fourth career multihomer game.
Joaquin Benoit (4-1) pitched a perfect eighth for the win. Kimbrel worked the ninth for his 11th save in 12 chances.
The Cubs went up 2-0 in the third on the homers by Coghlan and Fowler. Coghlan drove Shields' first pitch an estimated 420 feet into the sandy play area beyond the fence in right-center. With two outs, Fowler homered an estimated 399 feet into the Jack Daniel's party deck atop the wall in right. It was his fourth.
San Diego tied it on Will Venable's two-out RBI single in the seventh.
Padres: 1B-OF Wil Myers went on the 15-day DL with left wrist tendinitis. San Diego filled the roster spot by recalling RHP Cory Mazzoni from Triple-A El Paso.
Cubs: LHP Tsuyoshi Wada will make his season debut after making six rehab starts with Triple-A Iowa. He was placed on the 15-day disabled list April 5 with a left groin strain.
Padres: RHP Tyson Ross (2-3, 3.94 ERA) is coming off a victory against Washington on Thursday, his first win since April 12.