TORONTO -- Chris Carter hit a three-run home run and left-hander Dallas Keuchel pitched into the eighth inning as the Houston Astros snapped a three-game losing streak with an 8-6 victory over the Toronto Blue Jays on Saturday at Rogers Centre.
Matt Dominguez also drove in two runs for the Astros with a solo homer and a single, and Justin Maxwell added a solo home run before a crowd of 34,317.
Keuchel (5-5) allowed six runs on 10 hits, including a three-run home run by Jose Bautista in the eighth and solo shots by Mark DeRosa and Colby Rasmus in his 7 1/3 innings. He allowed one walk and struck out six for his first victory since June 16.
Jose Veras pitched 1 2/3 innings to earn his 19th save.
Blue Jays right-hander Josh Johnson (1-7) continued to struggle, as his earned-run average soared to 6.08. He allowed seven hits including three home runs, two walks and seven runs while striking out eight in 5 2/3 innings.
Johnson has lost his last five starts this season and is 0-4 in his career against the Astros.
The Astros scored four runs in the first inning, three on the 19th home run of the season by Carter. Jonathan Villar, Jose Altuve and Jason Castro started the game with singles to make it 1-0.
Carter hit his home run to center field on a first-pitch fastball.
The Blue Jays scored in the bottom of the first on a single by Edwin Encarnacion that scored Melky Cabrera, who singled and took second on a wild pitch.
DeRosa turned on a first-pitch cutter to lead off the Blue Jays' second with a home run to left, his seventh of the season and the 100th of his career.
Maxwell hit his second home run of the season with one out in the fourth followed, by the 13th home run of the season by Dominguez to give the Astros a 6-2 lead.
Rasmus hit the first pitch of the bottom of the fifth to right for his 17th home run of the season and trim the lead to three runs.
The Astros added a two-out run in the sixth when Maxwell was hit by a pitch, stole second and came home on a single by Dominguez. Juan Perez came in to get the final out of the inning.
Perez walked Villar and Castro in the seventh and Brett Wallace singled to make the score 8-3.
Bautista's 24th home run of the season followed one-out singles by Jose Reyes and Cabrera to cut the lead to 8-6. Veras replaced Keuchel.
NOTES: Astros OF J.D. Martinez (left wrist sprain) was put on the disabled list following Friday's game after he was injured sliding into second base. OF Robbie Grossman was recalled from Triple-A Oklahoma City to take his place. ... RHP Paul Clemens was optioned to Triple-A Oklahoma City and has been replaced in the Astros bullpen by LHP Brett Oberholtzer, who was recalled from the RedHawks. ... Jose Altuve left the game in the seventh because of a tight quadriceps. .... Edwin Encarnacion was the first Blue Jay to have five RBIs in one inning in Friday's eight-run seventh, when he hit two home runs including a grand slam in a 12-6 victory over the Astros. ... The Blue Jays will start RHP Todd Redmond (1-1, 4.43 ERA) in Sunday's series finale against the Astros' Jarred Cosart (1-0, 0.60 ERA).