TORONTO — Since his big league career began, Josh Johnson has never faced the kind of frustration he's dealing with these days.
Chris Carter hit a three-run homer, Justin Maxwell and Matt Dominguez added consecutive shots and the Houston Astros beat Johnson and the Toronto Blue Jays 8-6 on Saturday to snap a three-game losing streak.
All three Astros homers came off Johnson (1-7), who lost his career-worst fifth straight start.
"He's scuffling, that's an understatement," manager John Gibbons said. "You feel for the guy. And he's never struggled a whole lot in his career. He's trying to settle in, he's trying to contribute, and it hasn't gone well for him. It's tough."
Jose Bautista hit a three-run homer, Mark DeRosa hit his 100th career home run and Colby Rasmus also connected for Toronto, but it wasn't enough as the Blue Jays lost for the eighth time in 10 games.
A nine-year veteran, Johnson said this is his most challenging season, his first with Toronto and first in the American League.
"This game will definitely test you," he said. "I've just got to find a way to stay positive and get through it."
The right-hander is eligible for free agency this winter, but is hardly having the season he wanted before hitting the open market.
"He's frustrated, there's no doubt," Blue Jays pitching coach Pete Walker said. "Anybody who's following his situation knows that, supposedly, there's a lot on the line this year with the contract and everything else."
Johnson (1-7) came in 0-4 with a 7.71 ERA in five starts since defeating the Orioles on June 23. He'd lasted just two innings in his previous outing, allowing five runs and seven hits against the Los Angeles Dodgers in a performance he described as "pitiful."
Johnson was immediately in trouble against Houston, with the worst record in the majors, surrendering four runs before recording his first out.
Jonathan Villar hit a leadoff single, went to third on Jose Altuve's base hit and scored on a single by Jason Castro.
Carter hit Johnson's next pitch into the batter's eye in center for his 19th homer this season.
"I was just looking for anything I could drive early in the count, not get behind and give him a chance to throw his pitches," Carter said.
Maxwell and Dominguez went back-to-back off Johnson in the fourth, the third time this season the Astros have hit consecutive home runs.
Dallas Keuchel (5-5) pitched a season-high 7 1-3 innings to end a six-start winless skid. He allowed six runs and 10 hits, walked one and struck out six for his first victory since June 16.
"It's always good to get a win and get that positive vibe going again," Carter said.
Jose Veras got the final five outs for his 19th save in 22 chances as Houston rebounded from Friday's 12-6 loss, a defeat that saw the bullpen surrender eight runs.
The Astros, who had lost 21 of their previous 26, won for just the second time since July 12.
Edwin Encarnacion got Toronto on the board with an RBI single in the bottom of the first, and DeRosa homered on the first pitch of the second, but the Astros made it 6-2 when Maxwell and Dominguez hit one-out homers in the fourth. Maxwell's home run was his second, and his first since April 12. For Dominguez, the homer was his 13th.
Toronto pitchers have surrendered back-to-back homers on eight occasions this season, and have allowed 14 multihomer innings.
Rasmus hit a leadoff drive in the fifth but Maxwell made it 7-3 in the sixth when he was hit by a pitch, stole second and scored on Dominguez's two-out single.
That was it for Johnson, who matched a season-worst by allowing seven runs and seven hits in 5 2-3 innings. He walked two and struck out eight.
"I've just got to make better pitches," Johnson said. "I made some OK pitches, but then I made some terrible ones as well."
Keuchel got Brett Lawrie on a grounder to begin the eighth but couldn't retire another batter. Jose Reyes and Melky Cabrera singled and Bautista made it 8-6 with his 24th home run.
"That's as good of a lineup as I've faced in my year and half here," Keuchel said of the Blue Jays.
Veras came on and gave up a single to Encarnacion, but got Adam Lind and pinch-hitter Maicer Izturis to fly out.
NOTES: Encarnacion had four hits, all singles. ... The Astros turned three double plays. ... Astros RHP Jared Cosart (1-0, 0.60 ERA) faces Toronto RHP Todd Redmond (1-1, 4.43) in Sunday's series finale.