ST. LOUIS -- Mark McGwire homered Thursday night, but the Atlanta Braves didn't.
Atlanta rallied for seven runs in the eighth inning but failed in its attempt to break the major league record for consecutive games with home runs, falling one short in a 7-3 victory over the St. Louis Cardinals.
The Braves' streak wound up at 25, matching the 1941 New York Yankees and 1944 Detroit Tigers.
Atlanta came close just twice Thursday. Ryan Klesko's first-inning drive was caught on the warning track in right-center, and Michael Tucker flied out to the track in left in the seventh.
McGwire's homer was his 15th, leaving him one short of the major league lead. The solo shot off Kevin Millwood in the fourth was McGwire's first to right field this season, and gave him 23 in 41 games at Busch Stadium since the Cardinals acquired him last July 31.
With St. Louis ahead 3-0, Juan Acevedo (1-1) walked Walt Weiss leading off the eighth. Keith Lockhart hit an RBI single, Chipper Jones singled and Andres Galarraga's RBI single pulled the Braves within a run.
John Frascatore hit Klesko with his first pitch, and Javier Lopez hit a two-run single for a 5-3 lead. Andruw Jones singled in a run, and Weiss hit a two-run double.
John Rocker (1-0) pitched one inning for the win.
Cardinals starter Mark Petkovsek lowered his ERA from 7.31 to 5.09, allowing five hits in seven shutout innings. Atlanta got just two fly balls to the outfield against him.
St. Louis went ahead in the first when Royce Clayton doubled to right and Brian Jordan tripled down the right-field line.
The Cardinals added another run in the sixth, again using the right side. Ray Lankford walked, went to second on McGwire's deep fly to right, took third on a wild pitch, and scored when Jordan grounded to second.
Notes: Six Braves starters entered the game hitting over .300 ... McGwire has been with the Cardinals for just parts of two seasons, but he already has hit the three longest homers ever at Busch Stadium dating to 1988, when measuring began. ... McGwire, who has made just one error this season, made two good plays on tricky bouncers down the first-base line in the fifth. ... Dennis Martinez, pitching on his 43rd birthday, retired both batters he faced in the sixth.