Chris Carter clubbed a three-run home run as part of a four-run first, and the Houston Astros held off the Toronto Blue Jays, 8-6, Saturday in the third tilt of a four-game set at Rogers Centre.

Jason Castro added an RBI single in the early outburst, while Justin Maxwell and Matt Dominguez stroked back-to-back homers in the fourth to help the Astros snap a three-game skid.

Dallas Keuchel (5-5) pitched into the eighth to notch the victory, giving up six runs on 10 hits while striking out six over 7 1/3 innings.

Jose Bautista belted a three-run homer, Mark DeRosa and Colby Rasmus each hit a solo shot, and Edwin Encarnacion went 4-for-4 with an RBI for the Blue Jays, who had lost seven straight before taking the first two games of this set.

Toronto starter Josh Johnson (1-7) was handed his fifth straight loss after yielding seven runs on seven hits and two walks over 5 2/3 frames. Johnson, who hasn't won since June 23, struck out eight in the setback.

"He's scuffling...that's an understatement," Jays manager John Gibbons said of Johnson. "He's human. You feel for the guy."

The Astros jumped on Johnson early, pushing four runs across in their first turn at-bat.

Castro capped a string of three straight singles with a run-scoring base hit to right before Carter provided the big blow of the frame, launching a first-pitch fastball over the center-field wall to give Houston an early 4-0 cushion.

"It was just a fastball down," Carter said of the pitch he hit over the fence. "I was trying to get the ball in the air with a runner on third."

Encarnacion stroked an RBI single to center in the home half to get the Jays on the board before DeRosa led off the bottom of the second with a blast over the wall in left to bring the Blue Jays within 4-2.

Maxwell and Dominguez helped restore Houston's four-run lead in the fourth when they crushed consecutive homers for a 6-2 lead.

Rasmus led off the home fifth with a blast to right, but the Astros quickly countered in the sixth when Maxwell was hit by a pitch with two outs, stole second, and scored on a Dominguez single to make it 7-3.

Houston manufactured another run in the seventh, as Jonathan Villar worked a leadoff walk before stealing second and third. With two outs and runners on the corners, Brett Wallace singled to right to score Villar for an 8-3 lead.

Toronto made things interesting in the eighth, as Jose Reyes and Melky Cabrera smacked back-to-back singles before Bautista belted a 2-2 changeup deep to left field to bring the Jays within 8-6.

Keuchel was promptly lifted in favor of Jose Veras, who served up a single to Encarnacion before retiring the final five Blue Jays in order to secure his 19th save of the season.

Game Notes

Houston second baseman Jose Altuve left the game in the seventh inning due to tightness in his left quad. He finished 1-for-3 with a run scored ... Houston went 4-for-6 with runners in scoring position ... Toronto fell to 27-28 at home this season.