ST. LOUIS (AP) -- Carl Crawford's glove and a dominant bullpen helped save the AL's All-Star Game 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 American League a 4-3 victory Tuesday night at the new Busch Stadium.
The AL has won seven straight games since 2002's 7-7, 11-inning tie at Milwaukee and is 12-0-1 since its 1996 defeat at Philadelphia -- the longest unbeaten streak in All-Star history.
The AL has won all seven times the All-Star game has been used to determine home-field advantage for the World Series.
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.
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 Minnesota's Joe Nathan. Orlando Hudson singled and, with pinch-hitter Ryan Howard at the plate, stole second before Nathan struck out Howard.
Mariano 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.
Adam Jones drove in Granderson with a 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 when the NL won 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.
Crawford, the MVP, jumped at the 8-foot left-field wall and snared Brad Hawpe's leadoff drive in the seventh off Jonathan Papelbon, which would have been a tiebreaking home run.
"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.
Three Minnesota Twins saw action. Nathan pitched a scoreless eighth. Catcher Joe Mauer went 1 for 3 and drive in a run in the fifth inning with a double. First baseman Justin Morneau was 0 for 2 despite two hard-hit balls, including a long drive to left-center.
Jayson Werth also had a great grab for the NL, running down 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 Jeter and Mark Teixeira in the fifth, throwing out Ichiro Suzuki at second from his knees after Jeter's grounder.
Obama became the fourth president to throw out the ceremonial first pitch at an All-Star game.