HOUSTON (AP) - Giancarlo Stanton hit a three-run double, and Jordany Valdespin added a two-run home run to power the Miami Marlins to a 7-3 victory over the Houston Astros on Saturday night.
Stanton's double in the second inning broke a 2-2 tie. Christian Yelich had two hits, including an RBI single as part of the four-run frame. Valdespin hit his first homer of the season in the ninth off Chad Qualls.
Tom Koehler (7-7) gave up three runs and nine hits with two strikeouts in five innings.
Jason Castro had two hits, including a two-run home run in the first that put the Astros up 2-1. Jose Altuve added three hits for Houston, which lost its fourth straight and fell a season-high 20 games below .500 (42-62).
Astros starter Jarred Cosart (9-7) allowed five runs and seven hits with four strikeouts and four walks in 5 2-3 innings.
The right-hander has struggled in July, allowing 21 runs in 21 1-3 innings over four starts.
Cosart's wildness got him in trouble when he walked the bases loaded in the second, setting up run-scoring hits by Yelich and Stanton.
Carter cut the lead to 5-3 with an RBI single in the fifth.
Casey McGehee gave Miami a 1-0 lead with an RBI single in the first.
Houston left runners in scoring position in each inning from the second to the seventh.
Altuve and Marwin Gonzalez started the third with singles before Carter lined a ball to Koehler that went off the right-hander's back and was caught by shortstop Adeiny Hechavarria. Koehler struck out Castro and Matt Dominguez to end the inning.
The Astros went 1 for 9 with runners in scoring position against Koehler and finished 1 for 12 overall.
NOTES: Houston RHP Collin McHugh will be activated from the disabled list to start on Sunday. McHugh, 4-8 with a 3.28 ERA, has been out since July 7 because of an injury to his right middle finger. McHugh, who last started in the majors on July 6 in a loss at the Los Angeles Angels, threw five innings in a rehab outing Tuesday for Triple A Oklahoma City. Miami will start RHP Jacob Turner, 3-6 with a 6.03 ERA. ... Gonzalez returned to the lineup after missing Friday's game because of soreness in his right hamstring.