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.
METS 9, DODGERS 0
LOS ANGELES (AP) — 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.
The Dodgers' only hit over the first 6 1-3 innings was by opposing pitcher Aaron Harang, a two-out single in the second that fell between left fielder Kirk Niewenhuis and centre fielder Andres Torres. A.J. Ellis singled in the seventh and Tony Gwynn Jr. doubled in the eighth.
Dickey (12-1) had his fifth scoreless outing in a span of seven starts and struck out 10 while establishing a career high for wins.
Harang (5-5) gave up five runs and seven hits in 5 2-3 innings.
Murphy had a two-run double in the fifth and added a three-run homer in the seventh.
NATIONALS 5, BRAVES 4
ATLANTA (AP) — 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.
Morse had a quick answer by hitting right-hander the first pitch from Chad Durbin (3-1) over the wall in right field leading off the eighth.
Sean Burnett (1-1) gave up one hit in 1 1-3 scoreless innings.
MARLINS 6, PHILLIES 2
MIAMI (AP) — 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.
Johnson (5-5) allowed one run and struck out six, improving to 5-2 with a 2.91 ERA in his last 10 starts.
Lee (0-5) allowed six runs in 4 2-3 innings, falling to 0-2 with a 7.30 ERA in his last four starts.
CUBS 4, ASTROS 0
CHICAGO (AP) — 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.
Luis Valbuena hit a two-out solo homer off Bud Norris (5-5) in the second. Steve Clevenger belted a two-run shot in the fourth for his first major league homer, and Soriano connected in the sixth.
PIRATES 14, CARDINALS 5
ST. LOUIS (AP) — 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 centre field wall in the fifth.
Carlos Beltran got his 2,000th career hit on an RBI single in the third against Kevin Correia (4-6).
Barmes and Presley connected to start the sixth and chase Adam Wainwright (6-8).
ROCKIES 10, PADRES 2
DENVER (AP) — 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.
Michael Cuddyer and Wilin Rosario each hit two-run homers in the eighth inning to help secure the win for Francis.
Francis (1-1) became the first Rockies starter to win since June 4.
Former Rockies pitcher Jason Marquis (1-4) held Colorado to two runs through five innings before they scored four in the sixth.
REDS 5, GIANTS 1
SAN FRANCISCO (AP) — 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-centre 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.