ST. LOUIS -- Carl Crawford's glove and one of the great bullpens in All-Star history helped save the American League's streak.
Crawford pulled back a home run with a leaping grab an inning before Curtis Granderson tripled and scored the tiebreaking run in the eighth, giving the AL a 4-3 victory Tuesday night at the new Busch Stadium.
"It was definitely probably the best catch I ever made," said Crawford, the MVP. "I didn't think it was going to carry that far, but it carried and I just had to find the wall, make the adjustment and make the play on it."
The AL has won seven straight times the All-Star game has been used to determine home-field advantage for the World Series, an innovation that began after 2002's 7-7, 11-inning tie at Milwaukee. It is 12-0-1 since its 1996 defeat at Philadelphia -- the longest unbeaten streak in All-Star history.
Pirates pitcher Zach Duke and second baseman Freddy Sanchez were selected to the game but did not play.
Not even President Barack Obama's ceremonial first pitch helped the NL, which had been 4-0 previously when sitting presidents threw out the first offering. The NL scored all its runs in the second inning, and 22 of its last 24 batters made out.
AL manager Joe Maddon credited his bullpen "stallions" of Jonathan Papelbon, Joe Nathan and Mariano Rivera.
Starting with Hanley Ramirez's groundout off starter Roy Halladay that ended the second, AL pitchers retired 18 consecutive batters before Adrian Gonzalez's two-out walk in the eighth against Nathan. Orlando Hudson singled and, with pinch-hitter Ryan Howard at the plate, stole second before Howard struck out on a breaking ball in the dirt.
Rivera pitched a 1-2-3 ninth for his record fourth All-Star save, breaking a tie with Dennis Eckersley and giving him eight All-Star innings over eight appearances with no earned runs.
Rivera was surprised Obama knew about his famous cutter.
"I had to come in and shut it down," he said.
Adam Jones drove in Granderson with the go-ahead sacrifice fly off loser Heath Bell, helping the AL narrow its deficit against the senior circuit to 40-38-2. With four straight one-run victories, the AL matched the All-Star record for consecutive one-run games, set by the NL from 1965-68.
For the AL, pitching and defense was the key in the first All-Star game without a home run since 1999 at Boston's Fenway Park. And at 2 hours, 31 minutes, it was the fastest one since 1988.
"The whole game was centered around pitching," NL manager Charlie Manuel said.
Crawford, who entered with a pinch single in the fifth, jumped at the 8-foot left-field wall to snare Brad Hawpe's leadoff drive in the seventh off Papelbon, which would have put the NL ahead 4-3.
"Wow, what a catch," Papelbon said on the mound.
Halladay, Mark Buehrle, Zack Greinke, Edwin Jackson, Felix Hernandez, Papelbon and Nathan came two outs shy of the All-Star record for consecutive outs, set by the NL in 1968.
Granderson sparked the offense with a one-out triple in the eighth off the bottom of the left-field wall. The drive went over Justin Upton, normally a right fielder, who took a bit of a circuitous route. Bell intentionally walked Victor Martinez, and Jones followed with a fly to deep right.
Jayson Werth also had a great grab for the NL, running down Justin Morneau's drive to deep left-center off Francisco Rodriguez to end the ninth.
Given a 40-second ovation before the game by adoring red-clad Cardinals fans in the sellout crowd of 46,760, Albert Pujols went 0 for 3 in six innings, made an error at first base in a two-run first and also had some nice defensive plays. He made diving stops on Derek Jeter and Mark Teixeira in the fifth, throwing out Ichiro Suzuki at second from his knees after Jeter's grounder.
"It was great. You put it all together, hosting the All-Star game here in the place that you play with the fans and everybody, and a special presence by the president," Pujols said. "It was almost getting to the point where I got a little bit emotional."
Eight Anheuser-Busch Clydesdales paraded around the warning track, beginning a nearly hourlong pregame ceremony that culminated in the introduction of Cardinals Hall of Famer Stan Musial, followed by Obama.
Wearing sneakers, jeans and a jacket of his home state White Sox, Obama was greeted by cheers mixed with a few boos as he came out of the first-base dugout, shook hands with the 88-year-old Musial and went to the mound. The lanky president stood on the pitching rubber and threw left-handed from a windup. Biting his lip, he was determined to reach the plate. And he did with the help of Pujols, who moved up and scooped up the ball as Obama responded with a left-handed fist pump.
Obama became the fourth president to throw out the ceremonial first pitch at an All-Star game, following John F. Kennedy (1962 first game), Richard Nixon (1970) and Gerald Ford (1976 and 1978). All those games were won by the NL.
With the All-Star game back in St. Louis for the first time since the NL won 2-1 in 10 innings across the street at old Busch Stadium in 1966, the AL broke on top 2-0 in the first against Tim Lincecum with the help of an error by Pujols, who allowed Teixeira's one-out bouncer with two on to bounce away. Jeter came around from second on the error, and Josh Hamilton hit a two-out RBI grounder.
"To be honest with you, I was feeling a lot of nerves out there, first All-Star game for me, just a lot to take in," said Lincecum, who missed last year's game at old Yankee Stadium when he was hospitalized with flulike symptoms.
The NL went ahead 3-2 in the second against Roy Halladay with four straight two-out hits. The Cardinals' Yadier Molina had an RBI single, and another run scored when Hamilton's throw from center field to third bounced off the sliding Shane Victorino for an error that allowed Victorino to score. Prince Fielder, winner of Monday's Home Run Derby, batted for Halladay and lined an opposite-field double down the left-field line.
Joe Mauer tied it in the fifth with a two-out RBI double off Chad Billingsley that sent Jeter with his second run of the night and fifth in All-Star competition.
NOTES: Tim Wakefield, at 42 years, 346 days the oldest first-time All-Star since Satchel Paige was 46 in 1952, didn't get into the game. The former Pirate was held back as a potential AL pitcher for extra innings.