Manny Machado, Wil Myers and Fernando Tatis Jr. each hit an impressive two-run home run and Joe Musgrove had a solid outing against one of his former teams as the San Diego Padres beat the AL West-leading Houston Astros 10-2 Saturday night.

Tatis, who slugged his NL-leading 37th homer, also hit a go-ahead, two-run single during the four-run second inning for the Padres, who remain a half-game behind the Cincinnati Reds in the race for the NL's second wild-card spot.

After taking a 4-2 lead during Framber Valdez's meltdown in the second, the Padres' big bats came alive late in the game.

Machado and Myers each hit a no-doubter in the seventh off Cristian Javier, and Tatis then hit a long drive off Josh James in the eighth.

CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM

Machado drove a ball an estimated 453 feet into the far corner of the second deck in left field. It was his 24th. Myers hit a ball into the middle balcony on the brick warehouse in the left-field corner, his 17th. Tatis, who was aboard for Machado's homer, also reached the second deck in left.

"You definitely felt it," manager Jayce Tingler said of Machado's blast. "We got down early and then we were able to get four back that inning. And it felt like when Manny put a charge in that ball, I don’t know, it took something with it. It took a weight off the shoulders and guys, you started to see the smiles and just the body language and all that."

Musgrove (10-8) held the Astros to two runs and seven hits in 5 1/3 innings while striking out four and walking one.

"I thought he got stronger, as he usually does, as the game went on," Tingler said. "They’ve got a really tough lineup, and he was able to navigate and get through there after giving up the runs early."

The big right-hander from suburban El Cajon fell behind 2-0 after just seven batters. After retiring his first two batters, Musgrove allowed three straight singles, including an RBI base hit by Yuli Gurriel. Kyle Tucker then opened the second with a homer to right-center. Tucker hit a go-ahead, two-run homer in Houston's 6-3 win Friday night.

Musgrove then held the Astros in check, including making two nice defensive plays in the fourth. He fielded Martin Maldonado's comebacker and caught Tucker in a rundown between second and third for the second out, and then fielded Valdez's comebacker to get the third out.

Musgrove allowed Gurriel's single opening the sixth, retired Carlos Correa on a fly ball and then made way for Tim Hill, who threw one pitch and got Tucker to hit into a double play.

Musgrove made his big league debut with Houston on Aug. 2, 2016. He earned the win in Game 5 of the World Series in 2017, when the Astros beat the Los Angeles Dodgers in seven games.

The Padres scored four runs off Valdez (9-5) in the second on four hits, a hit batsman and a balk. Valdez got the first out and then allowed the next four batters to reach, including Austin Nola with an RBI single. Musgrove struck out trying to bunt with the bases loaded, but Tatis hit a single past diving first baseman Gurriel to bring in two runs. Jurickson Profar scored on a balk.

TRAINER'S ROOM

Astros: Yordan Alvarez injured himself so badly when he hit a foul ball off his left leg in the fifth inning that he had to come out of the game. Alvarez collapsed and stayed on the ground for several minutes. Chas McCormick replaced him and struck out, which was credited against Alvarez.

UP NEXT

RHP Luis Garcia (10-6, 3.23) of the Astros and RHP Chris Paddack (7-6, 4.98).