Detroit slugger Prince Fielder belted 12 home runs in the final round to win the Home Run Derby, part of the Major League Baseball All-Star festivities.
Fielder, who won the long-ball competition in 2009 representing Milwaukee, became the first player to win representing both the American and National Leagues.
He joined Ken Griffey as the only players to win the event more than once.
Griffey won the derby in 1994 at Pittsburgh's Three Rivers Stadium, 1998 at Denver's Coors Field and 1999 at Boston's Fenway Park.
"Just being mentioned with him is real special," Fielder said.
Toronto's Jose Bautista was runner-up with seven homers in the final round.
Fielder smacked a total of 28 homers over three rounds, including the longest blast of the night at 476 feet.
Bautista, who was eliminated in the first round last year, batted last in the finals, but could not match Fielder's power.
Fielder hit eight homers before he got his second out in the final round. One of his 12 dingers in the decisive round was disputed, hitting the top of the fence in right-center field.
Yankees slugger Robinson Cano, the winner last year, was shut out -- to the delight of fans in Kansas City who were angry that he did not pick Royals designated hitter Billy Butler to participate.
The 83rd Major League All-Star Game will be held on Tuesday, with the National league seeking a third straight triumph over the American League.
The league that wins will secure home-field advantage for its champion in October's best-of-seven World Series championship final.