Edinson Volquez (6-1) pitched six effective innings and Joey Votto homered in the Cincinnati Reds' 5-3 home win over the Florida Marlins, but shortstop Jeff Keppinger fouled a pitch off his leg in the second and X-rays revealed a broken left kneecap.
Keppinger, the Reds' leading hitter, is scheduled for an MRI exam Wednesday.
Pinch-hitter Cody Ross homered in the eighth to cut Cincinnati's lead to 5-3, and Jeremy Hermida had a leadoff walk in the ninth against Francisco Cordero. Hermida advanced to second on a wild pitch, but Cordero retired Hanley Ramirez and Jorge Cantu on groundouts and struck out Dan Uggla for his seventh save.
Mark Hendrickson (5-2) allowed four runs and eight hits in five innings. He issued a season-high five walks and struck out one.
National League
PADRES 4, CUBS 3: At Chicago, Khalil Greene hit a three-run home run to help Shawn Estes earn his first victory since 2005 in San Diego's win over the Cubs.
Estes (1-0) pitched 5 1/3 innings and the Padres' bullpen secured the win with 3 2/3 innings of hitless relief. Trevor Hoffman pitched a scoreless ninth for his seventh save, and 531st of his career.
DIAMONDBACKS 8, ROCKIES 4: At Phoenix, backed by Stephen Drew's three-run homer, Randy Johnson went five shaky innings for his 287th career victory and the Arizona Diamondbacks beat Colorado 8-4 on Tuesday night.
The Big Unit (3-1) gave up four runs and nine hits, striking out four and walking none.
METS 6, NATIONALS 3: At New York, Ryan Church homered, doubled and drove in four runs against his former team and John Maine pitched six sharp innings to lead the Mets.
Maine (5-2) was mostly dominant for his second straight start, allowing just two runs — one earned — and two hits and retiring 11 of the last 12 batters he faced.
PHILLIES 5, BRAVES 4: At Philadelphia, Jayson Werth drove in four runs, Kyle Kendrick pitched six effective innings for the Phillies.
Kendrick (3-2) shook off a shaky first inning and allowed three runs and six hits. Brad Lidge finished for his 10th save in as many chances.
BREWERS 5, DODGERS 3: At Milwaukee, Ryan Braun delivered another big hit and Eric Gagne made a bid to reclaim his job as Milwaukee's closer.
Gagne earned his 10th save, but it wasn't easy. Gagne allowed a leadoff single to Russell Martin before getting Blake DeWitt to hit into a fielder's choice and Mark Sweeney to fly out. DeWitt advanced to second on a passed ball, and Gagne walked Andruw Jones before getting Juan Pierre to pop out to end the game.
PIRATES 8, CARDINALS 4 (10): St. Louis, Ronny Paulino drove in the go-ahead run in a four-run 10th inning for his second crucial hit in the Pirates' victory.
Troy Glaus hit a three-run home run and Albert Pujols tied it with his eighth in the eighth for the Cardinals, extending his hitting streak to 12 games. Pujols, who had a day off on Monday, also walked twice and has reached base in all 40 games.
GIANTS 4, ASTROS 2: At San Francisco, Matt Cain provided his own insurance run and limited Lance Berkman to only a base hit.
Cain hit a solo home run and earned his first victory in three starts, and the Giants snapped the Astros' four-game winning streak.
American League
INDIANS 4, ATHLETICS 0: At Cleveland, Paul Byrd and two Cleveland relievers combined for the Indians' fourth shutout in seven games.
Byrd (2-3) allowed five hits over 7 1/3 innings, striking out seven without a walk.
ORIOLES 5, RED SOX 4: At Baltlimore, Luke Scott homered and had three of Baltimore's 11 hits off Josh Beckett, and the Orioles received a fine pitching performance from Jeremy Guthrie in a victory over the Red Sox.
Scott was mired in a 7-for-55 skid before going 3-for-3 against Beckett, who came in 4-0 with a 2.05 ERA in four career starts at Camden Yards.
RAYS 2, YANKEES 1, (11): At St. Petersburg, Fla., Gabe Gross singled with no outs in the 11th inning to drive in the first run Mariano Rivera has allowed all season, giving Tampa Bay a victory over the Yankees and sending the Rays into first place in the AL East.
Cliff Floyd began the 11th with a single and pinch-runner Jonny Gomes stole second before Gross delivered the winner up the middle on a 1-1 pitch.
ROYALS 3, TIGERS 2: At Kansas City, Mo., Jose Guillen drove in a pair of runs to help the Royals rally to beat the Tigers.committed a throwing error on a backhanded flip to second base.
BLUE JAYS 5, TWINS 3: At Minneapolis, Matt Stairs homered and scored twice for the struggling Blue Jays' offense in Toronto's victory over Minnesota.
RANGERS 5, MARINERS 2: At Arlington, Texas, Ramon Vazquez drove in the go-ahead run with a sixth-inning sacrifice fly and the surging Rangers beat Seattle.
Vazquez went deep in the 10th inning Monday night to give the Rangers a 13-12 win.
ANGELS 2, WHITE SOX 0: At Anaheim, Jered Weaver allowed one hit over seven innings and batterymate Mike Napoli hit a tiebreaking sacrifice fly in the eighth to lead the Angels.