ANAHEIM, Calif. — For two Rays players, the All-Star Game started well.
American League pitcher David Price opened with two sharp innings, and Evan Longoria scored for a 1-0 lead in the fifth inning.
But one key swing by the Braves' Brian McCann pulled the National League out of the All-Star shadows.
McCann's three-run double in the seventh inning sent the NL to its first win since 1996, a 3-1 victory Tuesday night.
"You dream of moments like this as a kid. It was amazing," said McCann, a five-time All-Star who claimed MVP honors.
The NL earns homefield advantage in this year's World Series.
"Enough was enough," St. Louis pitcher Adam Wainwright said of the NL's skid.
As for the AL? "I thought we had a pretty good showing," Longoria said.
In a year of dominant pitching, Price and the Rockies' Ubaldo Jimenez set the tone — and got even more help from the tricky shadows. Nearly the entire field at Angel Stadium was bathed in odd patterns of sunlight for a twilight first pitch, creating more awkward swings and misses than usual.
The AL didn't go down without some ninth-inning drama, started by David Ortiz's leadoff single. But Jonathan Broxton sealed it, helped by an alert play from rightfielder Marlon Byrd and shaky baserunning by Big Papi.
Ortiz was on first with one out when John Buck hit a blooper that Byrd scooped up and threw to second for a forceout on the Boston DH, who had to hold up to make sure the ball wasn't caught. With Alex Rodriguez standing on the steps in the AL dugout, Ian Kinsler flied out, and the NL had its win.
"It felt awesome for us to get the win and break the streak," Broxton said.
Until McCann cleared the bases, Robinson Cano's fifth-inning sacrifice fly stood as the lone run in a game expected to be decided by the loaded pitching staffs on each side.
Jimenez, Colorado's 15-game winner and first-time All-Star, came out of the gate with two scoreless innings. Price — who at 24 was the youngest All-Star starter since 23-year-old Dwight Gooden of the Mets in 1988 — matched that. Then came Marlins ace Josh Johnson, two more.
After Longoria drew a walk from reliever Hong-Chih Kuo to open the fifth, the Dodgers left-hander fielded Joe Mauer's dribbler back but threw it high over Adrian Gonzalez's head at first base, allowing the runners to reach second and third.
Cano's fly to left was plenty deep enough to score Longoria. Mauer reached third on a groundout, but San Diego's Heath Bell got Angels star Torii Hunter on a fly to end the inning.
Earlier in the fifth, the NL's David Wright and Andre Ethier singled to put runners at the corners, but Detroit's Justin Verlander struck out Milwaukee's Corey Hart and got McCann on an inning-ending fly to the warning track in right.
The star pitchers got help from the game's 5 p.m. local start time, leaving a band of sunlight between the shadows on the mound and plate shortly before the first pitch. The resulting twilight conditions left several hitters blinking at the poor visibility.
Or maybe the pitchers were just that good in a baseball season featuring a wealth of superb pitching.
Price cracked 97 mph on the Angel Stadium's radar gun during a 1-2-3 first inning. Andy Pettitte, Cliff Lee — who threw a six-pitch inning — Verlander and Jon Lester each got three outs after Price left.
Longoria's second-inning double was the only extra-base hit in the first six innings, and the Tampa Bay star started a double play on defense in the same inning. Longoria is from Downey, a 20-minute drive from Angel Stadium, and played for the Dirtbags at nearby Long Beach State.
"I was in a favorable count at 3-1," Longoria said of his double. "I knew (Jimenez) didn't want to walk me, so I got a good swing on the ball. He'd probably say he left it over the plate. I think it was, but I'll take it."
Meanwhile, the Rays' Carl Crawford went 0-for-2 but had a stolen base, and reliever Rafael Soriano pitched a perfect eighth inning.
"It's what I've been doing all year," Soriano said. "It was my first All-Star Game. I think I did okay."