MIAMI -- Yadier Molina hit a three-run homer and Kyle Lohse pitched into the eighth inning to lead the St. Louis Cardinals past the staggering Miami Marlins 5-2 on Tuesday night for their fifth straight victory.
One night after Molina's tying homer in the ninth inning keyed a huge comeback, St. Louis scored five unearned runs in the first.
The Marlins have lost eight of nine and are 3-17 in their last 20 games. Miami manager Ozzie Guillen was ejected for arguing balls and strikes with plate umpire Dan Bellino.
Lohse (7-2) allowed two runs and four hits while striking out four to lower his ERA to 2.82. Jason Motte pitched the ninth for his 16th save in 20 chances.
REDS 4, BREWERS 3
Arroyo allowed only one runner through the first seven innings, hitting Ryan Braun in the first. The slumping Brewers hit only four balls out of the infield during that stretch.
Sean Marshall (2-3) escaped the threat, and Aroldis Chapman struck out three in the ninth for his ninth save in 12 tries, celebrating the three-hitter with a pair of somersaults in front of the mound.
BRAVES 8, DIAMONDBACKS 1
ATLANTA -- Tim Hudson pitched eight sharp innings and Atlanta opened its longest homestand of the season with a victory.
Hudson (6-3) allowed one run and seven hits, struck out seven and walked one.
Arizona right-hander Daniel Hudson (3-2) left in the second inning with right elbow tightness, and manager Kirk Gibson said he will have an MRI on Wednesday. Hudson gave up five runs and seven hits in 1 2-3 innings.
Arizona had won four straight.
The Braves won the opener of a 10-game homestand. They play 16 of their next 19 at Turner Field.
CUBS 5, METS 3
CHICAGO -- Anthony Rizzo had two hits and drove in the go-ahead run in his first game with the Cubs.
Rizzo doubled home Steve Clevenger with two out in the fourth, making it 4-3 and sending the Mets to their fourth straight loss -- matching a season high. Rizzo was called up earlier in the day for his highly anticipated Cubs debut after posting big numbers for Triple-A Iowa.
Dillon Gee (5-6) struck out six in five innings for the Mets, but gave up four runs and nine hits. New York's David Wright went 0 for 3 with a walk and a sacrifice fly, ending his hitting streak at 15 games.
PHILLIES 5, PIRATES 4
Worley (4-4) allowed three runs and six hits in six-plus innings. Michael Schwimer pitched out of a jam in the seventh, Antonio Bastardo worked the eighth and Jonathan Papelbon finished for his 18th save in 19 tries, allowing a solo homer to Michael McKenry.
Ruiz hit his career-best 10th homer to give the Phillies an insurance run in the eighth. It was his 10th three-hit game.
Pirates starter Erik Bedard (4-8) gave up four runs and eight hits in six innings.
NATIONALS 12, ROCKIES 5
Ian Desmond went 4 for 4, Michael Morse had four hits and Tyler Moore also connected for the Nationals, who had a season-high 21 hits, which tied the club mark since the team moved to Washington in 2005.
Gio Gonzalez (10-3) picked up the win despite allowing five runs, four earned, and eight hits in six innings. He struck out seven.
ASTROS 5, PADRES 3
Houston starter Jordan Lyles (2-4) allowed a run and six hits in 6 1-3 innings to break a three-game losing streak and earn his first victory since June 3.
The game was tied at 1 after Will Venable and Lowrie exchanged solo homers in the third.
Copyright 2012 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- A-Rod met Bosch at ALCS, clinic crony says
- Yanks' Jeter takes batting practice in Tampa
- Hamilton drops to No. 7 spot in Angels lineup
- Davis launches 2 HRs as O's trounce Tigers