MILWAUKEE — Aaron Hill hit for the cycle for the second time in 12 days and Ian Kennedy pitched seven strong innings, leading the Arizona Diamondbacks to a 9-3 victory over the Milwaukee Brewers on Friday night.

MILWAUKEE — Aaron Hill hit for the cycle for the second time in 12 days and Ian Kennedy pitched seven strong innings, leading the Arizona Diamondbacks to a 9-3 victory over the Milwaukee Brewers on Friday night.

The Arizona Diamondbacks' second baseman also singled, doubled, tripled and homered on June 18 against Seattle.

Brooklyn's Babe Herman is the only other major leaguer to hit for two cycles in one season since 1900, according to STATS LLC. He accomplished the feat in 1931.

On Friday night, Hill doubled for his 1,000th hit in the first, singled in the third and hit his 11th home run of the season, a two-run shot in the fourth. All those hits came off Milwaukee starter Randy Wolf (2-6).

Hill tripled in the sixth inning off Livan Hernandez. His head-first slide into third easily beat the relay throw from the outfield.

Kennedy (6-7) allowed a run in the first, but then kept Milwaukee off the board until the sixth when he created his own jam that led to two unearned runs.

Reds 5, Giants 1

At San Francisco, Mike Leake pitched a nine-hitter for his first career complete game and homered off Matt Cain, and Cincinnati beat the Giants.

Zack Cozart hit the first pitch of the game from Cain over the wall in left-center and, just like that, San Francisco's franchise-record streak of four straight shutouts had ended.

Jay Bruce added a two-run double in the first among his four hits to stake Leake (3-5) to a quick cushion as the Reds got to Cain early to snap a four-game road skid. Leake homered with two outs in the sixth, his second of the year.

Cain (9-3) had his career-best eight-game winning streak snapped. The right-hander allowed three runs in the first inning for the first time since June 24, 2010, at Houston.

Nationals 5, Braves 4

At Atlanta, Michael Morse had four hits, including the go-ahead homer in the eighth inning after Washington had blown a four-run lead, and the Nationals beat Atlanta.

Andrelton Simmons' two-run homer off Ross Detwiler capped Atlanta's four-run seventh inning which erased the Nationals' 4-0 lead.

Marlins 6, Phillies 2

At Miami, Josh Johnson pitched six strong innings to help the Marlins win consecutive games for the first time in nearly a month and keep Cliff Lee winless.

Justin Ruggiano tied a career high with three hits and drove in two runs for Miami, which last won consecutive games June 2-3 at Philadelphia. The Marlins were 4-17 since.

Cubs 4, Astros 0

At Chicago, Paul Maholm pitched into the ninth inning to earn his first win in seven weeks and the Cubs hit three homers in a victory over the Astros.

Maholm (5-6) allowed four hits over 8 1/3 innings in his 200th major league start, earning his first win since he tossed seven shutout innings in a 1-0 victory over Atlanta on May 9. The left-hander was 0-4 with a 6.43 ERA in his previous eight outings.

Pirates 14, Cardinals 5

At St. Louis, Clint Barmes, pinch-hitter Alex Presley and Garrett Jones each homered in a four-run sixth inning that snapped a tie, and Pittsburgh beat the Cardinals in a game that began in 101-degree heat.

Andrew McCutchen had four of the Pirates' season-high 19 hits, the last a three-run homer off Marc Rzepczynski in the ninth. McCutchen also robbed Allen Craig of a third extra-base hit with a running catch near the center field wall in the fifth.

Rockies 10, Padres 2

At Denver, Jeff Francis pitched six scoreless innings, and Rex Brothers bailed out newly recalled Tyler Chatwood before Colorado broke out for a victory over San Diego.

Mets 9, Dodgers 0

At Los Angeles, R.A. Dickey allowed three hits over eight innings to become the major leagues' first 12-game winner, Daniel Murphy drove in five runs and the New York Mets sent the Dodgers to their season-worst sixth straight loss.

White Sox 14, Yankees 7

At New York, A.J. Pierzynski homered twice, Paul Konerko and Alexei Ramirez also connected and the Chicago White Sox pounded the Yankees so hard that New York brought in outfielder Dewayne Wise to pitch.

A night after the White Sox rallied to win at Yankee Stadium on Dayan Viciedo's three-run homer in the ninth, they made it a short and sour major league debut for Yankees starter Adam Warren.

Rays 4, Tigers 2

At St. Petersburg, Fla., Tampa Bay's Desmond Jennings homered twice and David Price outpitched Justin Verlander to become the AL's first 11-game winner.

The Rays beat the reigning AL Cy Young Award winner for the second time this season, ending a four-game losing streak.

Blue Jays 7, Angels 5

At Toronto, Adam Lind hit two home runs and Yunel Escobar had a tiebreaking double in the seventh inning for Toronto.

Royals 4, Twins 3

At Minneapolis, Luis Mendoza allowed one run over a career-high eight innings and Salvador Perez homered as Kansas City won its fourth straight.

Rangers 4, Athletics 3

At Arlington, Texas, Craig Gentry's bases-loaded triple in the eighth capped a four-run rally and Matt Harrison pitched eight strong innings to win his 11th game, lifting the Texas Rangers past the Oakland Athletics.

Orioles 9, Indians 8

At Baltimore, Ryan Flaherty singled in the tiebreaking run in the seventh inning, Matt Wieters hit a three-run homer, and the Baltimore Orioles broke out of their scoring funk with a victory over the Cleveland Indians.

Red Sox 5, Mariners 0

At Seattle, Aaron Cook threw a two-hitter and Will Middlebrooks, Cody Ross and Daniel Nava all hit solo homers in the fifth inning for Boston.