In the ninth, Diaz followed walks from Kyle Tucker and McCormick with a single to right off Rangers reliever Alex Speas (0-2) to end the game. Tucker walked three times and scored four runs, while Alex Bregman went 3-for-5 for the Astros, who won for the fifth time in six games.
Ryan Pressly (3-2) worked a scoreless top of the ninth.
Josh Jung and Josh H. Smith homered for the Rangers, and Marcus Semien and Travis Jankowski joined Jung in recording multi-hit games. Texas took its third loss in four games.
Blake Perkins walked on four pitches to open the ninth off Diaz (3-2). Jesse Winker followed with a pinch-hit single to right before Yelich grounded a 1-0 pitch to right to score Perkins from second, snapping the Reds' five-game winning streak.
Elly De La Cruz put Cincinnati in front 2-1 in the third with his sixth homer of the season, a two-run shot off Colin Rea. Devin Williams (5-2) earned the win.
Carlos Correa singled in Donovan Solano from third in the bottom of the 10th inning to give Minnesota a second straight walk-off victory in the opener of a three-game series against Seattle at Minneapolis.
Correa looped an 0-2 fastball from Mariners reliever Paul Sewald (3-1) into right to drive in Solano, who began the inning as the automatic runner and moved to third on a sacrifice bunt by Christian Vazquez. Minnesota's Max Kepler went 3-for-4, including a game-tying RBI double in the bottom of the ninth. Jorge Lopez (4-2) picked up the win with a hitless 10th inning.
Kolten Wong hit a two-run, pinch-hit home run in the top of the ninth to give the Mariners a 3-2 lead. Tom Murphy homered and doubled, and J.P. Crawford also had two hits for Seattle.
Skubal (1-1) struck out nine while holding the Giants to no runs and two hits in five innings. Riley Greene had three hits and scored twice, while Spencer Torkelson added two hits and drove in a run.
Wilmer Flores homered for San Francisco, which has lost a season-worst six straight games at the end of an 11-game road trip. The game was a makeup of an April 16 postponement.
Jordan Westburg and Ryan Mountcastle each hit a solo home run for the Orioles, who have won five of their past six games. Baltimore starter Dean Kremer gave up three hits and one run in seven innings, while Bryan Baker (4-3) earned the win.
Kyle Schwarber had a sacrifice fly and two walks for Philadelphia, while Nick Castellanos added an RBI single. Phillies starter Cristopher Sanchez tossed seven innings and allowed four hits and two runs with a career-high eight strikeouts.
Colorado improved to 6-3 since the All-Star break by winning the opener of a three-game series between the two teams with the worst records in the National League. Ezequiel Tovar and Randal Grichuk each had three hits for the Rockies, and Jones and Harold Castro added two hits and two RBIs apiece.
Rockies reliever Karl Kauffmann (1-3) gave up two hits and one run in four-plus innings while posting his first major league victory. Patrick Corbin (6-11) surrendered six runs (five earned) on 10 hits in 6 1/3 innings.
Royals left-hander Ryan Yarbrough (3-5) scattered six hits over six innings, yielding just one run. Scott Barlow allowed two runners in the ninth but escaped to post his 12th save. Guardians left-hander Logan Allen (4-3) gave up seven hits and five runs (four earned) in seven innings.
Bobby Witt Jr. and Kyle Isbel each had two hits for the Royals. Amed Rosario had three of Cleveland's 10 hits, while Will Brennan and Myles Straw had two hits apiece.
Paul Goldschmidt delivered the tying single, Lars Nootbaar drew a bases-loaded walk and Tyler O'Neill ripped a three-run double during a five-run, ninth-inning outburst as St. Louis registered a victory over Arizona in Phoenix.
Goldschmidt also homered against his former club as the Cardinals halted a three-game losing streak. St. Louis' ninth-inning rally started against Andrew Chafin (2-3), who was pinned with the loss.
Christian Walker homered and Emmanuel Rivera had three hits for the Diamondbacks, who have lost five straight games. Evan Longoria's pinch-hit, two-run double in the seventh gave Arizona a 6-5 lead.
Matt Chapman hit a home run for the Blue Jays, who ended a five-game losing streak against the Dodgers that dated back to 2016. Toronto had also lost nine of its previous 10 against Los Angeles going back to 2007.
Jason Heyward homered for the Dodgers but also allowed Varsho's 11th-inning liner to get by him while trying to make a diving catch. Los Angeles dropped an opener for the first time in 10 series.
Former Padres minor league prospect Jack Suwinski and Liover Peguero also homered for the Pirates, who are undefeated in four games against San Diego this season.
Pirates starter Quinn Priester earned his first major league win despite giving up a pair of home runs to Ha-Seong Kim. Priester (1-1) allowed four runs on four hits over 5 1/3 innings. Padres starter Yu Darvish (7-7) gave up seven runs on eight hits (four homers) in 4 1/3 innings.