CARLOS ZAMBRANO pitched a three-hitter for his first win of the season and Giancarlo Stanton extended his hitting streak to 10 games with a two-run homer, leading the visiting Miami Marlins to their seventh straight win with a 4-0 victory over the Houston Astros on Monday night.

Stanton's homer into the Crawford Boxes in leftfield put Miami up 2-0 in the fourth inning and gives him six home runs and 12 RBI during his streak. Logan Morrison walked with one out before Stanton went deep.

John Buck extended the lead to 3-0 when he sent the first pitch of the fifth inning into the rightfield stands. Hanley Ramirez added a solo shot, which bounced off the train tracks above the left-centerfield wall, in the ninth inning to make it 4-0.

It was the first complete game and first shutout for Zambrano since a two-hitter against San Francisco on Sept. 25, 2009.

Zambrano (1-2), whose only no-hitter came against the Astros, struck out a season-best nine and never allowed a batter past first base. He walked one and hit two batters while improving to 10-4 in 19 appearances at Minute Maid Park.

Brian Bogusevic singled to leftfield with no outs in the ninth inning, but Miami turned its third doubleplay of the game on a grounder by Jordan Schafer. Zambrano then struck out Jose Altuve to end it.

Houston starter Wandy Rodriguez (3-3) gave up a season-high four earned runs in eight-plus innings. He entered the game having won three straight and had allowed just three runs combined in those starts.

Zambrano hit Schafer on the right leg with a pitch in the sixth inning. Schafer fell to his knees writhing in pain before getting up and walking gingerly to first base while talking with manager Brad Mills and a trainer.

Altuve grounded into a doubleplay to get Zambrano out of that inning. He sailed through the next two frames, retiring six in a row with two strikeouts, to reach the ninth.

Zambrano plunked Altuve on the left elbow with one out in the first inning. But J.D. Martinez struck out and was called for batter's interference to put Altuve out and end the inning.

Houston's first hit came when Travis Buck singled to start the third inning, but Zambrano faced the minimum in that inning thanks to a doubleplay before a flyout by Rodriguez.

In other games * 

At Chicago, Jeff Samardzija allowed five hits and a run over seven strong innings, and Bryan LaHair, Ian Stewart and Geovany Soto each homered to lead the Cubs over the Atlanta Braves, 5-1.

Samardzija (4-1) gave up a solo homer to Jason Heyward in the second inning, walked two and struck out seven in a 105-pitch outing to help the Cubs win for the third time in four games.

Tommy Hanson (3-3) gave up five hits and two runs in six innings. The loss was just the eighth in the last 26 games for the Braves.

* At Milwaukee, Jay Bruce hit a three-run homer and Bronson Arroyo (2-1) allowed just one run in the Cincinnati Reds' 6-1 victory over the Brewers.

In Brewers news, shortstop Alex Gonzalez has a torn ligament in his right knee and will have season-ending surgery, the third Milwaukee player to sustain a serious injury since Opening Day.

Noteworthy * 

San Francisco Giants reliever Guillermo Mota was suspended for 100 games, becoming just the third major league player penalized twice for positive drug tests. The commissioner's office said the 38-year-old righthander tested positive for Clenbuterol. In November 2006, while with the New York Mets, Mota was suspended for the first 50 games of the next season.

"The Giants are disappointed to learn of Guillermo Mota's suspension," the team said in a statement.

The Major League Baseball Players Association filed a grievance challenging the suspension that will be heard by an arbitrator. Under baseball's drug agreement, grievances for initial positive tests are heard before a suspension is announced but cases involving second or third positives are argued after the penalty is made public.