OAKLAND, Calif. (AP) - A spirited rally against a struggling reliever wasn't enough for the Houston Astros to overcome a poor performance from their starting pitcher.
Brad Peacock gave up three homers, including two to Yoenis Cespedes, before the Astros' comeback fell short in a 9-7 loss to the Oakland Athletics on Wednesday night.
''I fell behind way too many guys tonight and I can't do that against a team like this,'' said Peacock, who was charged with seven runs and seven hits in 3 2-3 innings. ''I'm still spiking the fastball. I have to keep working in the bullpen to try and get through this rough stretch.''
Cespedes tied a career high with five RBIs, hitting a three-run drive in the second and a two-run shot in the fourth off Peacock (3-7) for his 15th and 16th homers this season. The two-time reigning Home Run Derby champion snapped a 25-game skid - matching his career high - since his last long ball June 19 against Boston.
Cespedes left with a sprained right thumb with the A's leading 8-1 in the seventh. But the Astros almost pulled off an improbable comeback, scoring five runs in the eighth before the back of Oakland's bullpen shut them down.
''We did a tremendous job of mounting a comeback. We just fell short,'' Astros manager Bo Porter said.
Jesse Chavez (8-6) allowed two runs and four hits in 5 2-3 innings to help the A's (62-38) extend the best record in baseball. He struck out seven and walked two.
Jim Johnson, who signed a $10 million, one-year deal with Oakland after saving 50 games for Baltimore last season, entered with the A's leading 9-2 in the eighth. He gave up four runs - three earned - without recording an out to spark Houston's five-run inning. He left to a smattering of boos again after his ERA soared to 6.92.
''It's tough, because you root for a guy like that,'' said A's shortstop Jed Lowrie, who hit his fifth homer. ''He's working really hard. Sometimes this game isn't fair.''
Luke Gregerson stranded two runners on base in the eighth, and Sean Doolittle recorded his 15th save in 18 tries with a perfect ninth.
Chavez, who had not started since July 12 at Seattle before the All-Star break, looked sharp at the outset. He did not allow a hit until Matt Dominguez lined a single to left with one out in the fifth.
''I felt good. I think the fifth inning caught up to me a little bit,'' Chavez said. ''But overall, a good start to the second half.''
The A's got most the support they needed in just three swings.
Lowrie led off Oakland's second with a homer, and Cespedes busted the game open by sending a slider from Peacock over the wall in center. In the fourth, Cespedes pulled a curveball into the stands in left to put the A's up 7-0.
It was Cespedes' fifth career two-homer game and first since June 4 at the New York Yankees. It also was the third time he's had five RBIs in a game - all this year.
The A's built leads of 8-1 and 9-2 but still had a few scares late.
Cespedes had his right thumb examined by a team trainer after grounding out on an awkward swing in the fifth. He stayed in the game before Craig Gentry replaced him in left field to start the seventh.
A's first baseman Brandon Moss had his left hand looked at by a trainer after Jose Altuve ran through his tag on a misfired throw, jarring the ball loose, and Johnson helped turn a runaway game into a tight one.
NOTES: Astros SS Marwin Gonzalez left with a hamstring injury but should be able to play Thursday. ... The Astros placed rookie OF George Springer on the 15-day disabled list with a strained left quadriceps and recalled outfielder Marc Krauss from Triple-A Oklahoma City. ... Jeff Samardzija (1-1, 3.27 ERA) takes the mound for Oakland against Scott Feldman (4-7, 4.30 ERA) and the Astros in Thursday's series finale.