Johnson's grand slam sinks Cardinals

Leadoff man Kelly Johnson broke a seventh-inning tie with his second career grand slam and the Arizona Diamondbacks' bullpen barely hung on for a 7-6 victory over the St. Louis Cardinals.

Chris Young added a two-run triple and David Hernandez earned his fifth save in as many attempts as the stand-in closer for the Diamondbacks, who have won five of seven and were two games behind NL West-leading San Francisco.

Ian Kennedy (9-3) allowed three runs in six innings, matching his career-best victory total from last season.

Lance Berkman hit his NL-leading 24th homer and Matt Holliday added his fourth in four games to spark the Cardinals' three-run eighth against three relievers.