National League beat American League in MLB All-Star Game
The eighth-inning blast by the 32-year-old Venezuelan catcher for the Colorado Rockies gave the NL stars their first victory since 2012, ending a nine-game win drought.
"It means a lot to me," Diaz said through a translator. "So proud. It's a dream come true what I've accomplished. To be in the All-Star Game for me, it's amazing."
The AL stars still leads the all-time rivalry 47-44 with two drawn.
Diaz won the All-Star Most Valuable Player award.
"A lot of emotions," Diaz said. "I never thought I would have this moment in my career but to be able to contribute to the win and be the MVP, that's something really special."
The AL grabbed a 2-1 lead in the bottom of the sixth inning off NL pitcher Alexis Diaz of Cincinnati.
Kansas City's Salvador Perez, just inserted to replace Shohei Ohtani as designated hitter, smacked a one-out single to right field, took third base on a ground-rule double by Oakland's Brent Rooker and scored on a sacrifice fly to right field by Toronto's Bo Bichette.
Arizona's Lourdes Gurriel Jr. appeared to pull the NL level with a homer down the left-field line off Toronto's Jordan Romano in the top of the seventh inning, but it was overturned and ruled a foul ball on video review, keeping the AL ahead.
The NL delivered the deciding runs in the eighth, the rally starting when AL pitcher Felix Bautista of Baltimore walked Philadelphia's Nick Castellanos.
Diaz, in his first All-Star at bat, then smashed his go-ahead homer to left field off Dominican right-hander Bautista.
AL sluggers couldn't score an equaliser in the last two innings as their win streak was shattered.
'Feels pretty good'
Philadelphia pitcher Craig Kimbrel issued two-out walks to Houston's Kyle Tucker and Seattle's Julio Rodriguez in the ninth to produce late drama, but then struck out Cleveland's Jose Ramirez to end the game.
"It has been a while since the National League has gotten a win, so it feels pretty good," Kimbrel said.
Tampa Bay first baseman Yandy Diaz smashed a solo homer to left field off Pittsburgh's Mitch Keller with one out in the second inning to give the AL a 1-0 lead.
Diaz, a 31-year-old slugger whose wife is due to give birth to a baby on Wednesday, defected from Cuba 10 years ago to follow a dream of playing in the major leagues.
NL designated hitter J.D. Martinez of the Los Angeles Dodgers doubled to left field off Seattle pitcher George Kirby to open the fourth inning and scored on a one-out single to right field by Miami's Luis Arraez, a Venezuelan second baseman, to lift the NL level at 1-1.
AL star Ohtani of the Los Angeles Angels was walked by NL pitcher Alex Cobb to start the bottom of the fourth inning and took second base on a Cobb wild pitch. Ohtani reached third on a fly out by Bichette but Diaz grounded out to first to end the threat.
"Just playing the game itself is what I looked forward to," Ohtani said through a translator. "Normally they're my opponents but this time around they are on my side so it's fun to play with the best players in the league."
The Japanese pitcher-slugger credited plenty of sleep and efficient practice sessions with staying in shape as a two-way threat.
"I'm just trying to keep healthy and end the season strong," Ohtani said.
Texas had six players on the field at the same time when pitcher Nathan Eovaldi entered in the second inning, something that had not happened for one club in the All-Star Game since 1951.