BALTIMORE — Chris Davis went 4 for 4 with two home runs, and the Baltimore Orioles overcame three homers by Ryan Zimmerman to beat the Washington Nationals 9-6 Wednesday night. In a wild game before 39,129 fans, each team slugged four home runs and the Orioles rallied from a four-run deficit against one of the best pitchers in the game. Zimmerman hit solo homers in the first and fourth innings before adding a two-run drive in the fifth, all off Chris Tillman. He got a chance at a fourth homer but struck out in the seventh. Davis hit a solo drive in the fourth and capped a six-run seventh with his major league-leading 19th homer, a two-run shot off Tyler Clippard. Johnson (1-1) pitched 2 1-3 innings and Jim Johnson worked a perfect ninth for his 16th save. Baltimore trailed 6-3 in the seventh before rallying against Jordan Zimmermann (8-3), who gave up seven runs and 10 hits in six-plus innings. He came in with a 1.71 ERA and a streak of 15 straight starts allowing three runs or less. Cubs 9, White Sox 3: Dioner Navarro had the first three-homer game of his career, connecting from both sides of the plate at Wrigley Field to lead the Cubs over the White Sox. Navarro had never homered more than once in a game, but he got his swing going while driving in a career-high six runs and scoring four times. He hit a solo homer in the second to break a 1-all tie and added a two-run shot off John Danks (0-1) in the fourth. He then sent a towering shot to the street beyond the right-field bleachers for a three-run homer off Brian Omogrosso in the seventh. Cardinals 5, Royals 3: Pinch hitter Daniel Descalso hit a two-run single with the bases loaded to snap an eighth-inning tie and help St. Louis rally past scuffling Kansas City. Luis Mendoza got his first career hit and RBI and held the Cardinals to a run in 5 2-3 innings before the bullpen failed for the Royals, who have lost a season-worst eight in a row. Matt Holliday and Carlos Beltran homered for the Cardinals. Mets 9, Yankees 4: Slumping infielders Ike Davis and Ruben Tejada sparked a five-run first inning that kept the Mets sailing along in this surprising Subway Series with a victory over the Yankees. Tejada hit a leadoff single, Davis drove in two runs and the Mets won with Jeremy Hefner (1-5) on the mound for the first time all season. They've taken three in a row from their crosstown rivals for their first four-game winning streak of the year. Astros 6, Rockies 3: J.D. Martinez hit a go-ahead RBI single in the eighth inning, Carlos Pena connected for a home run as part of a three-run ninth as Houston rallied against Colorado's bullpen. Athletics 9, Giants 6: Tommy Milone won his second straight decision following a five-start skid, pinch-hitter Nate Freiman had a two-run single, and the Athletics beat the Giants for their sixth straight win. Angels 4, Dodgers 3: Jered Weaver pitched six strong innings in his first start in nearly eight weeks and Mark Trumbo hit a go-ahead two-run homer as the Angles beat the Dodgers. The Angels tied a season high with their fifth straight home win while snapping a two-game skid. Pirates 5, Tigers 3: Pedro Alvarez's two-run double sparked a seventh-inning rally that lifted Pittsburgh over Detroit. Travis Snider added an RBI double and Jordy Mercer laid down a perfect suicide squeeze as the Pirates erupted late against Anibal Sanchez (5-5) and scored four times. Blue Jays 3, Braves 0: Melky Cabrera had three hits, including a two-run single, and four Toronto pitchers combined on a four-hitter to lead the Blue Jays past Atlanta. Twins 4, Brewers 1: Aaron Hicks homered again and made another run-saving catch for Minnesota, helping Samuel Deduno and the Twins beat Milwaukee. Deduno (1-1) pitched into the eighth inning, the longest start for a Twins pitcher in more than a month, and gave up four hits and one run. He beat Marco Estrada (4-3), who was done in by a three-run first as the Brewers lost their fifth straight game. Rays 3, Marlins 1: Roberto Hernandez bounced back from two rough outings and pitched 8 2-3 innings to help Tampa Bay send Miami to its season-worst eighth straight loss. Kelly Johnson and Yunel Escobar each drove in a run as the Rays won their fourth in row. Indians 5, Reds 2: Justin Masterson pitched six solid innings, Jason Giambi and Mark Reynolds homered, and Cleveland broke a five-game losing streak with a win over Cincinnati. Padres 3, Mariners 2, 10 innings: Eric Stults had a career-high 12 strikeouts and Will Venable drove in the winning run as San Diego rallied in the bottom of the 10th to beat Seattle. — Agencies