SAN DIEGO – Salvador Perez's deep voice cut through the postgame cacophony as players dressed, conducted interviews, packed and left Petco Park.

"What's up, MVP!" he yelled.

Eric Hosmer turned and smiled. The two Royals players left their mark on the 87th All-Star Game by accounting for all the American League's runs in a 4-2 victory over the National League. Now, Perez, the World Series MVP from last October, was full of praise of Hosmer, who was 2-for-4 with a home run and two RBI to leave Petco Park with a new truck. He became the first Royal to be named MVP since Bo Jackson in 1989.

"Hosmer is the best," Perez said. "We play together a lot. And I'm so happy for him."

The defending world champions are not looking as dominant as they did a year ago, but two of them can enjoy helping the AL to its fourth consecutive victory in the series, and 16th in the past 20 meetings.

And if they can get on a roll, return to the playoffs and find some of that old Royals magic, Game One of the World Series will be at Kauffman Stadium.

"We're glad that we could secure it for the American League," Hosmer said, "and it's something we all set out to accomplish before the game started."

The Twins' Eduardo Nunez entered the game in the ninth inning and helped turn a game-ending double play in his first All-Star Game appearance.

"I understood," Nunez said of how he was scheduled to play. "But, sure, I wish I could have hit."

Cubs third baseman Kris Bryant won the Windy City showdown against White Sox lefthander Chris Sale by slamming a first-pitch fastball into the seats in left in the first inning. Giants righthander Johnny Cueto and his hip turn pitched a scoreless first inning for the NL. But Hosmer blasted a one-out homer to left off him in the second that tied the score. Mookie Betts followed with a single, then Perez hit a two-run home run to left to give the AL a 3-1 lead.

"I was so proud of Hos when he hit that ball and so proud of Salvi when he hit it," AL manager Ned Yost said. "I felt like a proud papa there in the second inning after those two guys gave us the lead."

David Ortiz made the final plate appearance of his All-Star Game career in the third inning, drawing a walk against Jose Fernandez of the Marlins. Toronto's Edwin Encarnacion replaced Ortiz as a pinch runner, and Ortiz walked off to a standing ovation as the AL dugout emptied to greet him.

And that was it for Ortiz, one of the best sluggers and biggest personalities of his generation. He will retire at the end of the season having played in 10 All-Star Games.

Hosmer hit an RBI single to left in the third inning to give the AL a 4-1 lead. Marcell Ozuna drove in Buster Posey with single in the fourth as the NL got within 4-2.

The AL turned to its bullpen during the second half of the game and the NL was in big trouble as it faced a run of high-powered arms. Houston's Will Harris had to bail the Yankees' Andrew Miller out of a bases-loaded jam in the eighth by striking out St. Louis' Aledmys Diaz.

Zach Britton got the save in the ninth, with help from Nunez on the double play.

"Like I said in the beginning, it's very exciting for me," Nunez said. "It was a dream come true. I'm happy I was able to make the play."