The Cardinals had hoped to use the event to show off its planned Ballpark Village residential and entertainment complex to be built on the site of the former Busch Memorial Stadium across the street from the new ballpark. However the plans had not materialized by the time of the game and the Cardinals opted to use the site for a softball field and parking lot instead.
On April 22, 2009, All-Star balloting began on MLB.com with eight position players (excluding pitchers and designated hitters) from each of the 30 teams being nominated for fans to vote. As with last year, only 25 email ballots could be cast and voting officially ended at 11:59 ET on July 2. Final rosters, with the exception of the final vote, were announced on July 5.
Fans voted for up to three players per league to participate in the State FarmHome Run Derby. For the first time, the batting practice sessions were telecast on the self-owned MLB Network.
By length of time, this was the shortest MLB All-Star game (2:31) since 1988. At one point during the game, the American League retired 18 straight batters, the second most in All-Star game history.
After the rosters were revealed, a second ballot of five players per league was created for the All-Star Final Vote to determine the 33rd and final player of each roster. The NL Winner was Shane Victorino of the Philadelphia Phillies and the AL winner was Brandon Inge of the Detroit Tigers. Pablo Sandoval and Ian Kinsler finished a close second in their respective leagues.
Votes were cast online and at the 30 MLB ballparks. Verizon replaced Monster as the sponsor of the online portion of balloting. There was a limit of 25 votes per e-mail address, but no limit to the number of ballots cast at the stadium. The deadline to cast votes was July 2, and the results were broadcast on the TBS All-Star Selection show on July 5.Albert Pujols was the leading vote-getter in the majors with 5,397,374 votes, while Derek Jeter was the vote leader in the American League
By contrast, little attention was paid to the Canadian national anthem, "O Canada". An instrumental version was played through stadium speakers during the opening ceremonies, a move criticized by Canadian player Justin Morneau.
The American League got off to a quick start in the top of the 1st inning by scoring two runs. Ichiro Suzuki lead off the game with a single to right field, then Derek Jeter reached base on a hit by pitch. With one out, Mark Teixeira hit a groundball that was misplayed by first basemen Albert Pujols allowing Jeter to score the game's first run. Josh Hamilton later added a RBI groundout. The National League answered in the bottom of the 2nd inning by scoring three runs. Singles by David Wright, Shane Victorino and Yadier Molina, plus a ground rule double by Prince Fielder all with two outs gave NL the lead. The American League tied the score at 3-3 in the 5th on a two-out double by Joe Mauer off Chad Billingsley, and retook the lead when Adam Jones drove in Curtis Granderson, who tripled off Heath Bell, on a sacrifice fly in the 8th. American League pitchers at one point retired 18 straight batters (and 22 of the final 24) on just 48 pitches before Joe Nathan walked Adrian Gonzalez with two outs in the 8th. Nathan, however, struck out Ryan Howard with runners on 2nd and 3rd to end the threat. Mariano Rivera pitched a perfect 9th inning to earn a record 4th All-Star Game save. Carl Crawford went 1-for-3 but made a great defensive catch in the 7th inning to rob Brad Hawpe of a home run. Crawford was given the MLB All-Star Game's Most Valuable Player award.
This was the seventh straight win for the American League since the All-Star game has been used to determine home-field advantage for the World Series. The AL improved to 12-0-1 since its 1996 defeat in Philadelphia — the longest unbeaten streak in All-Star history. It was also the first All-Star game without a home run by either league since the 1999 Midsummer Classic in Fenway Park.