ST. LOUIS -- Jedd Gyorko put himself in the San Diego record book with one swing.

Gyorko's one-out grand slam in the top of the seventh put the Padres ahead to stay, and San Diego knocked off the St. Louis Cardinals 9-5 Saturday night at Busch Stadium.

Gyorko lined an 0-1 pitch from reliever Kevin Siegrist (1-3) just over the left field wall -- the third slam of his career -- for an 8-5 lead. It was the 31st homer in Gyorko's two seasons, surpassing Mark Loretta (30) for the most by a San Diego second baseman.

The blast made a winner out of Alex Torres (2-1), who got the last out of the sixth inning. San Diego (58-64) improved to 10-4 in August and 17-10 since the All-Star break.

The Cardinals (65-57) saw their three-game winning streak end, and they fell three games behind the first-place Milwaukee Brewers in the National League Central. They remain a game ahead of the San Francisco Giants for the NL's first wild-card spot.

Neither starter was involved in the decision. Making his 12th major league start, the Padres' Jesse Hahn gave up a career-high five runs on seven hits in 5 2/3 innings, walking one and fanning three.

St. Louis' Shelby Miller left after six innings with a 5-4 lead despite allowing four hits, four runs and a career-high six walks. Miller struck out five.

Gyorko knocked in five runs, one off his career high. San Diego left fielder Seth Smith went 3-for-4, including an RBI single in the eighth that finished the scoring.

The game was delayed by rain for an hour and 46 minutes shortly after Gyorko's slam and finished in periodic showers with perhaps a few hundred fans left from a sellout crowd of 44,079.

St. Louis jumped on Hahn in the second inning for four runs. Shortstop Jhonny Peralta doubled down the left field line to score first baseman Matt Adams and then scored on a one-out double by right fielder Oscar Taveras.

Third baseman Matt Carpenter capped the rally with a two-run double to center as Abraham Almonte slid for and completely missed the ball.

The Padres got the runs back in their half of the third, all with two outs. Gyorko rifled an RBI single to right, scoring Almonte, and first baseman Jake Goebbert grounded a three-run triple just inside first base to tie it.

The Cardinals regained the lead in their half of the fifth inning when Adams ripped a two-out triple into the right field corner, cashing in a walk to left fielder Matt Holliday.

NOTES: St. Louis RHP Michael Wacha threw off a mound for the first time in two months Saturday. Wacha, who is 5-5 with a 2.79 ERA in 15 starts, went on the disabled list June 22 due to a stress reaction in his right shoulder. ... San Diego 3B Yangervis Solarte (oblique) returned to the lineup after a two-game absence, leading off. He was injured in the seventh inning Wednesday during the Padres' 5-3 win over the Colorado Rockies. ... The Cardinals inducted their inaugural class into the team's Hall of Fame on Saturday. The four men honored were OF Willie McGee, OF Jim Edmonds, SS Marty Marion and 3B Mike Shannon. Shannon is also the team's longtime radio play-by-play voice.