Josh Willingham became only the 13th player in the history of Major League Baseball to hit two grand slam home runs in a game as Washington scored a third successive win, beating Milwaukee 14-6 at Miller Park. Willingham's eight RBIs were the most in the Nationals' history and tied the franchise mark, set by Tim Wallach in 1990 when they were playing in Montreal as the Expos. Willingham hit the first of his bases-loaded homers with two out in the fifth. The outfielder connected again in the sixth.
The last player to hit two slams in a game was the Boston Red Sox infielder Bill Mueller, who managed the feat six years ago. In other National League action, Alfonso Soriano smashed a walk-off grand slam in the 13th inning to help the Chicago Cubs to a 5-1 win over Houston and keep them a half-game ahead of the St Louis Cardinals in the Central Division. Derrek Lee also homered for the Cubs.
Chris Carpenter allowed just one run in seven-plus innings as St Louis got back on track with a 6-1 win over the Los Angeles Dodgers. The Cards profited from a four-run seventh, which was kick-started by Mark DeRosa's solo shot. Fernando Tatis hit a pinch-hit grand slam in New York Mets' 7-3 defeat of Colorado. Tatis's effort broke a tie in the eighth inning at Citi Field and completed a comeback victory - their third in a row - for the Mets.
San Diego remain mired at the foot of the West Division after losing 6-4 to Cincinnati. Jamie Moyer pitched six-and-two-thirds shut-out innings and Ryan Howard hit a two-run homer as Philadelphia maintained their healthy lead in the East Division with a 6-2 win over Arizona, while Tim Lincecum pitched a four-hitter and managed a career-high 15 strikeouts in San Francisco Giants' 4-2 victory over Pittsburgh Pirates.