ST. LOUIS (AP) -- For a player who has two home runs in the last three games, Jim Edmonds doesn't feel very good about his stroke.
Edmonds angrily tossed his bats on the clubhouse floor after batting practice, stalking away. He wasn't much happier after setting a career high with his 34th homer in the first inning of the St. Louis Cardinals' 5-2 victory over the Pittsburgh Pirates on Wednesday night.
"I got lucky twice," said Edmonds, who is in a 5-for-36 slump that has dropped his average to .308. "I missed two other good pitches to hit. I think I'm doing the right thing and still missing balls."
Edmonds, who leads the Cardinals with 85 RBIs, said his pregame tantrum was therapeutic.
"I've been having bad BPs since April 1," Edmonds said.
"That's why I came in here and tore up some stuff for a while, let it all out. I could start off again in the game."
Edmonds' first-inning homer off Todd Ritchie (6-7) provided some early support for 20-year-old rookie Rick Ankiel, who won for only the second time in 11 starts. Ankiel threw six shutout innings before allowing homers to Keith Osik and Enrique Wilson in the seventh.
"He changed speeds pretty good," Osik said. "He had some cutters or something off-speed, then he'd zap up to 94. He did a good job of keeping us off balance."
Ankiel (8-7) allowed six hits with six strikeouts and four walks. He had been 1-4 since June 20, mostly due to control problems that forced him out of games early.
"I think I just threw more strikes," Ankiel said. "I think I attacked the strike zone more."
Ankiel got back at the Pirates, who knocked him out in the third inning May 19 at Pittsburgh. In that game, he allowed seven runs in 2 2-3 innings, his shortest start of the season.
"The last time he couldn't get his curveball over and didn't even bother to throw his changeup," manager Tony La Russa said.
"I don't care how hard you throw, you can't throw (only) fastballs in the league."
The seven-inning outing for Ankiel matched his season best.
Jason Christiansen and Dave Veres both got big outs in the eighth with the Cardinals leading by a run, and Veres finished for his 22nd save in 27 chances.
Aramis Ramirez tripled off Mike Timlin with one out in the eighth, but Christiansen struck out pinch hitter John Vander Wal and Veres, after walking pinch-hitter Warren Morris, got Osik on an infield popup for the third out.
Will Clark, who had three hits, gave the Cardinals breathing room with his fifth homer to the opposite field off Scott Sauerbeck in the eighth. The ball barely cleared the wall for his first homer since he connected in his first four starts for the Cardinals from Aug. 2-6.
"Thank goodness I hit it where I hit it, that's all I can say," Clark said.
Edgar Renteria added an RBI single off Rich Loiselle later in the inning.
Ritchie lasted six innings, allowing three runs and seven hits, in his third start since coming off the disabled list from a strained muscle under his armpit. He gave up three straight extra-base hits in the fourth, doubles by Clark and Fernando Tatis and a triple by Ray Lankford, as the Cardinals took a 3-0 lead.
Notes: The NL Central-leading Cardinals have won six of eight. ...
Fernando Vina extended his hitting streak to a career-best 15 games with a triple in the third. It was a routine fly ball, but LF Brian Giles and CF Adrian Brown collided. ... Edmonds has reached base in 100 of his 115 starts. ... The Cardinals have outscored opponents 122-73 in the first inning. ... Giles, who had been 17-for-35 during a 10-game hitting streak with 12 extra-base hits, was 0-for-3 with two walks. ... Brown had two hits and is 13-for-30 his last seven games. ... The Pirates completed a 3-6 trip and dropped to 22-41 on the road. They've won only five of their last 16 games overall.