Witt finished 4-for-5 with a career-high six RBIs.
After Jhoan Duran (2-5) walked the bases full with one out, Witt hit his first career grand slam 414 feet to left. He connected on a 101.8 mph fastball on a 3-2 count. It was the first walk-off grand slam this year by a player whose team was trailing at the time.
Kyle Farmer's two-out RBI single off Taylor Clarke (2-4) in the top of the 10th gave Minnesota a 5-4 advantage. The Twins had rallied to tie the game 4-4 in the ninth on Jorge Polanco's two-out, two-run double off Scott Barlow.
It was the 15th consecutive start without a victory for Gray, dating to an April 30 win against Kansas City. He allowed three runs on five hits while striking out five and walking none in six innings. Royals starter Brady Singer allowed two runs on four hits and two walks in five innings, fanning 10.
Pete Alonso accounted for all five runs with two home runs and Max Scherzer surrendered one run over seven innings as host New York beat Washington.
Alonso hit a three-run homer in the fifth against MacKenzie Gore and a two-run shot against Rico Garcia in the seventh. The multi-homer game was the second of the week for Alonso. Scherzer (9-4) gave up six hits, walked two and struck out seven.
Luis Garcia homered in the seventh for the Nationals, who fell to 7-7 since the All-Star break. Gore (6-8) allowed three runs on five hits and four walks while striking out two over five innings.
Anthony Santander hit a one-out home run in the bottom of the ninth inning to give Baltimore a victory over visiting New York. Santander's 18th long ball of the season came off Tommy Kahnle (1-1).
Orioles starter Grayson Rodriguez threw 6 1/3 scoreless innings, and Yankees starter Gerrit Cole tossed seven shutout frames. Felix Bautista (6-1), the fifth Baltimore pitcher, struck out two batters in a perfect ninth for the victory.
Aaron Judge was in the Yankees' lineup as the designated hitter and batted in the No. 2 spot after sitting out since June 3 because of a torn toe ligament. He went 0-for-1 with three walks.
Jake Fraley and Spencer Steer homered and visiting Cincinnati held on to beat Los Angeles in the opener of a three-game series.
Elly De La Cruz tripled to open the game and scored on a TJ Friedl groundout as the Reds improved to 3-1 this season against the Dodgers. Brandon Williamson (3-2) gave up two runs on eight hits over 5 2/3 innings, and Alexis Diaz recorded the final four outs for his 31st save.
Freddie Freeman drove in two runs and Amed Rosario had an RBI and two hits in his Dodgers debut, but Los Angeles fell to 1-3 to start its first homestand of the second half.
Bryan De La Cruz homered and drove in three runs, leading host Miami to a win over Detroit.
Marlins second baseman Luis Arraez, who leads the majors with a .380 batting average, went 3-for-4. He also tops the majors with 15 three-hit games. Miami starter Braxton Garrett was left with a tough-luck no-decision after allowing five hits, one walk and one run, none earned, in six innings.
The Tigers took their fourth loss in a row, with reliever Jason Foley (2-3) yielding both runs in the eighth.
Matt Chapman, Danny Jansen and Whit Merrifield hit home runs and Toronto defeated visiting Los Angeles.
Merrifield had three hits and two runs in the opener of a three-game series. The Angels had a four-game winning streak end. Toronto right-hander Kevin Gausman (8-5) allowed one run, five hits and three walks with nine strikeouts in six-plus innings.
Shohei Ohtani hit his major-league-leading 39th home run of the season for the Angels. Ohtani did not bat when his turn came up with the bases loaded in the ninth inning, leaving due to cramps in both calves. Mickey Moniak singled for Los Angeles to extend his hitting streak to 18 games.
Kyle Schwarber hit a two-run homer in the third as visiting Philadelphia won their third straight contest, a close victory over Pittsburgh.
Philadelphia starter Zack Wheeler (8-5) gave up one run and three hits in 6 2/3 innings, with 11 strikeouts and one walk. Craig Kimbrel pitched the ninth for his 17th save.
Ji Man Choi hit an RBI double for the Pirates, who were coming off a 3-3 West Coast trip. Pittsburgh starter Mitch Keller (9-7), who had lost two starts in a row coming off his first All-Star Game appearance, was more proficient this time. In 5 2/3 innings, he gave up two runs and six hits, with eight strikeouts and three walks.
Marcell Ozuna homered to lead off the fourth inning and Austin Riley and Matt Olson belted solo shots in the seventh to lift host Atlanta to victory over Milwaukee.
Atlanta's Orlando Arcia ripped a two-run single in the second inning and Eddie Rosario did the same as part of a four-run seventh. Olson drove in two runs and Ozuna scored three times as the Braves banged out 15 hits to snap a two-game skid.
Milwaukee's Abraham Toro highlighted a three-hit, four-RBI performance with a three-run homer in the eighth inning. Joey Wiemer had a two-run double, Tyrone Taylor added an RBI single and Andruw Monasterio joined Sal Frelick in scoring three runs for the Brewers.
Luis Robert and Jake Burger homered to support five strong innings from Touki Toussaint as host Chicago stopped a six-game skid by blanking Cleveland.
The White Sox earned their first victory since July 20. Robert launched his team-leading 29th home run to open the scoring in the first inning, connecting against Guardians starter Xzavion Curry (3-1) after Tim Anderson grounded into a double play.
Burger went deep with one out in the sixth to continue his homer binge. He has homered in three consecutive games and has six homers in his past 12 games overall. He has 25 this season. Toussaint (1-3) pitched five shutout innings, his first win with Chicago since the club claimed him off waivers from Cleveland in June.
Triston Casas doubled, homered and drove in two runs as Boston won at San Francisco. Red Sox reliever Josh Winckowski pitched out of a seventh-inning jam to protect a one-run lead.
Rob Refsnyder drove in a key run with a pinch-hit single and Kutter Crawford (5-5) gave up one run in 5 2/3 innings for the Red Sox, who earned their fifth win in a row.
Joc Pederson homered for the Giants. Logan Webb (8-9) yielded three runs in 7 1/3 innings.
Joe Musgrove worked six scoreless innings and Manny Machado drove in three runs as San Diego defeated visiting Texas to open a three-game interleague series.
Musgrove (10-3) gave up four hits and two walks while striking out five in his ninth straight quality start. Fernando Tatis Jr. homered for the Padres.
Rangers starter Dane Dunning (8-4) gave up three runs in five innings. Marcus Semien drew a bases-loaded walk in the ninth to break up the Padres' shutout bid.
Jose Siri utilized his exceptional speed to manufacture the decisive run in the ninth inning as Tampa Bay defeated host Houston.
Siri opened the ninth with a hustle double to left field off Astros closer Ryan Pressly (3-3) before advancing to third on a flyout to right. He later scored when Yandy Diaz added a sacrifice fly.
Four Rays relievers combined to hold Houston hitless over the final four innings. Colin Poche (8-3) pitched a perfect eighth to get the win, and Pete Fairbanks notched his 13th save by working around a one-out walk in the ninth.
Mike Tauchman made the game-saving catch at the center field wall with two outs in the ninth inning as visiting Chicago edged St. Louis for its seventh straight victory.
Cardinals pinch-hitter Alec Burleson lifted the potential two-run homer against Adbert Alzolay, but the leaping Tauchman reached over the wall to catch the ball and end the game. Lars Nootbaar hit two homers for the Cardinals, who lost for the sixth time in their last eight games.
Patrick Wisdom hit a homer for the Cubs and Dansby Swanson and Trey Mancini also drove in runs. Drew Smyly (8-7) came on in the third inning and allowed one run on two hits and a walk in 4 1/3 innings.
Cal Raleigh and Tom Murphy stroked consecutive two-run doubles in a four-run first inning to jump-start Seattle to a victory over Arizona in Phoenix.
Eugenio Suarez added an RBI single, and Ty France, Julio Rodriguez, Murphy and Raleigh had two hits apiece as Seattle won for the sixth time in eight games. Logan Gilbert (9-5) was charged with two runs on nine hits over 6 1/3 innings. He struck out five and didn't walk anyone while winning his fourth straight decision.
Ketel Marte had three singles and a walk for Arizona, which is 3-10 since the All-Star break and has lost 15 of its past 20 contests. Dominic Canzone had two hits for the Diamondbacks.
Zack Gelof and Ramon Laureano homered, Tony Kemp had two doubles, and Oakland beat Colorado in Denver to end a three-game skid.
A's starter JP Sears (2-7) threw five innings of one-run ball. He allowed four hits and a walk and struck out five. Trevor May got the final three outs for his 10th save.
Randal Grichuk homered for Colorado, which lost its third straight. Starter Kyle Freeland (4-11) allowed five runs, three earned, on nine hits and no walks while striking out three in four innings.