The 90th MLB All-Star Game presented by Mastercard is over, with the American League All-Stars holding off the National League All-Stars, 4-3. It was a taut affair, with pitchers dominating early, and Joey Gallo's solo homer in the seventh proved decisive for the AL, which has won seven straight Midsummer Classics and 19 of the past 23.
• All-Star Game box score
Here's how it all happened.
Bieber named MVP: The Indians' Shane Bieber won the Ted Williams All-Star Game MVP Award presented by Chevrolet in his home city after striking out the side in his inning of work.
The AL was only ahead 1-0 when Bieber came in to pitch in the fifth, and the 24-year-old first-time All-Star mowed through three NL All-Star starters, Willson Contreras, Ketel Marte and Ronald Acuna Jr. In doing so, he became the first Indians pitcher ever to strike out the side in an All-Star Game.
The last Indians All-Star Game MVP? Sandy Alomar Jr. in 1997 -- also in Cleveland. More >
Chapman seals AL victory: Yankees flamethrower Aroldis Chapman closed out the Midsummer Classic for the AL, preserving a 4-3 victory.
Chapman struck out the side in the ninth. He blew away J.T. Realmuto with a 99.9-mph fastball to start the ninth, and he followed that by getting Max Muncy and Yasmani Grandal on nasty sliders.
But before he could lock down the save, he got a mound visit … from teammate CC Sabathia, who had thrown out the first pitch before the game as he was honored by MLB in the city where he started his career.
Polar Bear Pete makes it a game: With the bases loaded, two outs and the NL down 4-1 in the top of the eighth, Pete Alonso came through with a two-run single to pull his squad within a run.
Alonso's hit through the left side off hometown All-Star Brad Hand was his first in his All-Star debut, a day after the Mets rookie sensation won the Home Run Derby. He's the only Mets player besides Lee Mazzilli (1979) to have multiple RBIs in an All-Star Game.
Hand did recover to strand the go-ahead runs on second and third when he got Mike Moustakas to pop up to catcher James McCann in foul territory to end the inning.
Gallo rips rocket HR: Joey Gallo launched a 111.5-mph home run to right field off Giants closer Will Smith to push the AL's lead to 4-1 in the seventh. That's the hardest hit in any of the five All-Star Games since Statcast started tracking in 2015.
Gallo's homer is also the first by a Rangers player in an All-Star Game since Mark Teixeira's blast in 2005. The other Rangers with All-Star Game home runs: Alfonso Soriano (2004), Hank Blalock (2003), Ruben Sierra (1992) and Frank Howard (1969, when the franchise was the Washington Senators).
Matt Chapman came home when Xander Bogaerts hit into double play earlier in the inning for the AL's other run in the frame.
Blackmon goes boom: Charlie Blackmon got the NL on the board with one big swing in the top of the sixth, crushing the first home run of the 2019 All-Star Game to deep right-center field.
Blackmon's big fly off Liam Hendriks made him the second Rockies player to homer in as many All-Star Games -- teammate Trevor Story went deep last year.
Tribe stands up for Cookie: Since 2011, the Midsummer Classic has featured a special in-game placard moment for the "Stand Up to Cancer" initiative, during which all play is stopped to allow every person in the building to honor a person who has been affected by the disease. But this year, it hit a little closer to home for the baseball community, as "Carlos Carrasco" was written countless times.
The Indians All-Star players and manager Terry Francona all held up "I stand up for Cookie" signs in honor of teammate Carrasco, who was recently diagnosed with leukemia. And in the middle of them stood Carrasco himself, holding an "I stand" sign.
As Carrasco's teammates stood with him, fans around Progressive Field chanted, "Cookie! Cookie!"
The Kraken strikes: Yankees catcher Gary Sanchez got the AL going again in the fifth, ripping a 110.2-mph leadoff double off young Dodgers flamethrower Walker Buehler. Sanchez advanced to third on a groundout and scored on Jorge Polanco's infield single, increasing the AL's lead to 2-0.
Sanchez's double is the third-hardest hit in an All-Star Game since Statcast began tracking in 2015. The only ones hit harder: Gallo's homer in the seventh and Kris Bryant's 110.8-mph home run off Chris Sale in the 2016 All-Star Game.
Giolito, Castillo trade zeros: Lucas Giolito and Luis Castillo -- two first-time All-Stars in the middle of huge breakout years in 2019 -- were just as impressive in the All-Star Game as they have been all season.
Giolito, who's cut his ERA nearly in half from 6.13 in 2018 to 3.15 in '19, pitched a scoreless top of the fourth for the AL, including striking out Dodgers star Cody Bellinger. Castillo struck out Carlos Santana and J.D. Martinez in the bottom of the inning for the NL, showing off his nasty fastball-changeup combo.
deGrominated: Mets ace Jacob deGrom turned in the first 1-2-3 inning for the NL in the third -- and the reigning NL Cy Young Award winner brought his Cy Young stuff.
deGrom struck out George Springer, the first batter he faced, with a 93.7 mph slider. Then he got AL batting leader DJ LeMahieu to ground out on a 98.6 mph fastball. And he capped the inning by getting some All-Star Game revenge on Mike Trout. deGrom got Trout to pop out on a 98 mph heater after Trout homered off deGrom in last year's All-Star Game.
Berrios quiets NL: Jose Berrios worked around a leadoff double from Ketel Marte to spin a scoreless third inning, striking out Ronald Acuna Jr. and Christian Yelich before inducing Cubs star -- and Berrios' brother-in-law -- Javier Baez to fly out to left to strand Marte at second.
Big hit for Brantley: AL outfielder Michael Brantley crushed a two-out double into the gap to chase home Astros teammate Alex Bregman for the game's first run in the second. Bregman reached on a single when NL defensive wizard Nolan Arenado couldn't complete an amazing play at third. Combined with Springer's single in the first, it's the first time in All-Star Game history the first 3 hits by a league's All-Star team came from players on one MLB club, according to STATS LLC.
Yeli, Belli talk MVP race: Both mic'd up for the All-Star Game, Christian Yelich and Cody Bellinger chatted about their dueling NL MVP Award candidacies from the outfield during the second inning.
"He's had an unbelievable year," Yelich said of Bellinger -- who was also in on the conversation. "We've become buddies over the years. It's fun. You always want to root for your friends. It's a good competitive nature where you're both pulling for each other."
Yelich recalled how the two of them went swing for swing when the Dodgers and Brewers played in April, and then recalled their seven-game playoff series in the 2018 NLCS. When he brought up Bellinger's Game 7 home run, Belli interrupted.
"My bad," he said. "My bad."
"What are you gonna do?" Yelich went on. "It's fun to watch."
Challenge accepted: With two outs in the second, Josh Bell hustled down the line after hitting a high chopper off Yankees hurler Masahiro Tanaka, whose teammate DJ LeMahieu made a nice play at second base. Bell was originally ruled out, but the NL challenged and the call was reversed for the Senior Circuit's first hit. Tanaka fielded a grounder from Javier Baez to end the inning.
Springer rips 1st hit: AL leadoff man George Springer knocked the first hit of the Midsummer Classic, a 100.9-mph single up the middle to start the bottom of the first against Dodgers lefty Hyun-Jin Ryu.
But Ryu, the first Korean-born All-Star Game starting pitcher, was able to work around the leadoff hit and pitch a scoreless first, stranding a runner on third when he got Carlos Santana to ground out to end the inning.
1-2-3 for JV: The oldest player on either All-Star roster, AL starter Justin Verlander blew away the competition in the first inning. After getting Christian Yelich to line out, he struck out Javier Baez and Freddie Freeman.
Freeman was mic'd up for his at-bat and provided some good-humored chatter -- "Thought he was going heater there," he said after Verlander dropped in a curveball for a called strike 2. When Verlander dropped in a called third strike, all Freeman could do was grin.
Santana snags liner to set tone: NL leadoff hitter Christian Yelich ripped a liner off AL starter Justin Verlander in the game's first at-bat, but AL first baseman Carlos Santana was ready for it, making a great catch to a loud ovation for the first out.
CC returns to Cleveland for 1st pitch: CC Sabathia took the mound in Cleveland for what could be the last time in a future Hall of Fame career, throwing out the ceremonial first pitch before the All-Star Game.
MLB invited Sabathia to the Midsummer Classic to celebrate his career as he plays his final season. The left-hander started his career with the Indians in 2001 and pitched his first 7 1/2 seasons in Cleveland, winning the AL Cy Young Award in 2007 and making three All-Star Games.
Sabathia pitched against the Indians at Progressive Field in June, and the Yankees won't return to Cleveland this year unless there's a playoff matchup.
Moment of silence: With the All-Stars lined up on the baselines between the Canadian and American national anthems, Progressive Field quieted for a moment of silence in honor of former Angels pitcher Tyler Skaggs, who passed away last week at 27.
All-Stars announced: With the Midsummer Classic soon to begin, the 2019 All-Stars got their introduction on the field in Cleveland.
With the full American League and National League rosters lined up along the third- and first-base lines, the coaches and reserves were announced first, followed by the managers starting lineups.
The loudest cheers, of course, were for Indians fan favorites Carlos Santana (the AL starting first baseman and cleanup hitter) and Francisco Lindor, plus fellow Tribe All-Stars Brad Hand and Shane Bieber and manager Terry Francona, who's part of the AL coaching staff. Angels superstar Mike Trout and Astros outfielder -- and former Indian -- Michael Brantley also got special ovations. Boos were reserved for the usual suspects: anybody on the Yankees.
Trout, La Stella wear No. 45 for Skaggs: Angels All-Stars Mike Trout and Tommy La Stella are both wearing No. 45 at the All-Star Game to honor their teammate Tyler Skaggs, who died tragically at 27 on July 1.
Skaggs, a left-hander, had worn No. 45 since joining the Angels in 2014. The Angels are honoring his memory by wearing "Skaggs 45" patches on their uniforms for the remainder of the season.
Mr. Smile: Razzing Mike Trout. Dodging grounders with Alex Bregman and Mookie Betts. Reuniting with old friend Michael Brantley. Francisco Lindor is at the center of everything in Cleveland and loving it.
Team photos: Behold, the 2019 American League and National League All-Star teams and coaching staffs looking sharp in the official team photos.
Best of the red carpet: Before the game, the stars took to the red carpet to flash their stuff, with hometown superstar Francisco Lindor arguably stealing the show with this amazing ensemble. See the rest of the best from the red carpet here.