HOUSTON -- The Houston Astros snapped out of their offensive slump in a big way.

Alex Bregman hit a two-run homer and Marwin Gonzalez added a three-run shot as part of a nine-run fourth inning, helping the Astros end a three-game losing streak with a 16-7 victory over the Toronto Blue Jays on Friday night.

Tyler White had four hits, including a two-run homer in the sixth and a solo drive in the eighth, and finished a triple shy of the cycle.

Houston scored seven runs during its skid.

"Everyone was swinging the bat," White said. "We were all seeing good pitches to hit and putting good swings on them. That's all you can do. We caught a few barrels and hit a few holes."

Every Astro hitter had at least one hit.

Yuli Gurriel had a two-run homer in the first, an RBI single in the third and also finished a triple shy of the cycle.

"It's not unusual for us to have big nights when we put good at-bats together," Houston manager A.J. Hinch said. "We hung in there and put together a really good game."

Brad Peacock (10-1) allowed a season-high seven runs on nine hits with six strikeouts in six innings for his seventh straight win.

Cesar Valdez (1-1) allowed six runs on six hits in 3 1/3 innings in his second straight rough start.

"Did you guys see the game?" Valdez said through a translator. "You saw what happened. It was just a bad outing."

Houston sent 15 batters to the plate in the fourth, which included eight hits and four walks against three Blue Jays pitchers. Every Astros hitter reached base in the inning as Houston built a 12-2 lead.

"Really the whole inning, we had 14 out of 15 excellent at-bats," Hinch said. "We've had some big innings this year. That's a good one."

White hit an RBI double and single in the fourth, and Derek Fisher had an RBI groundout before Bregman launched his 13th home run to give Houston a 7-2 lead. After Josh Reddick singled and Gurriel walked, Gonzalez, who had an RBI single in the seventh, followed with his 20th home run. Jake Marisnick added an RBI single to cap the scoring.

"Everybody is fired up," Bregman said about the inning. "We've done that a couple times this year. It's just a blast. Everyone is trying to put together quality at-bats and pass the torch to the next guy."

Kendrys Morales, who finished a triple shy of the cycle, hit a two-run homer in the fourth, and Russell Martin had a solo homer in the fifth. Ryan Goins hit a three-run homer as part of a four-run sixth.

"We ended up scoring some runs, too, and we usually feel pretty good when we score that many runs," Toronto manager John Gibbons said. "But they just kept adding on and adding on, and it didn't matter what we did. But they can do that. They're a great-hitting team."

TRAINING ROOM

Blue Jays: C Miguel Montero (right groin strain) was placed on the 10-day disabled list. The Blue Jays recalled Raffy Lopez from Triple-A Buffalo. .The Blue Jays activated RHP Danny Barnes (right shoulder impingement) from the DL and optioned RHP Joe Biagini to Buffalo.

Astros: OF George Springer (left quad discomfort) had a day off from running but the expectation is for him to run bases Saturday and Sunday, Hinch said. "Hopefully, two hard days in a row of more baseball running as opposed to just straight running in the outfield will give us a better assessment of where he's at for Tuesday," Hinch said. ... C Evan Gattis, who was out of the lineup Friday, said after the game he has a concussion after being hit in the head on a backswing Thursday night. "I just don't know how serious it is," Gattis said. "We haven't announced anything, and I don't know what's going to happen if I feel better tomorrow, how fast or what the protocol to start the process of getting back on the field." . Houston recalled RHP James Hoyt from Triple-A Fresno. The Astros optioned RHP Jordan Jankowski to Fresno after Thursday's game.

UP NEXT

Blue Jays: RHP Marco Estrada (4-7) will make his 23rd start of the season Saturday and look to build on his last outing, when he allowed one run in seven innings. Estrada has not won since May 27.

Astros: RHP Charlie Morton (9-4) makes his 16th start of the season in the second game of the three-game series. He seeks another solid outing after allowing two runs in six innings of his last start, a win Monday against Tampa Bay.