Arlington, Texas • Blake Snell became the major leagues’ first 20-game winner in two years, helping pitch the Tampa Bay Rays past the Texas Rangers 4-0 Tuesday night.

Snell (20-5) threw one-hit ball for five innings and tied the Tampa Bay record for victories in a season. David Price also won 20 in his Cy Young Award season of 2012.

Snell won his eighth straight start. The 25-year-old lefty struck out five, walked two and threw 92 pitches, exiting with a 1.97 ERA.

No one in the big leagues won more than 18 games last season. Rick Porcello won 22 in 2016, with Max Scherzer and J.A. Happ each winning 20.

Tampa Bay has won four straight and 13 of 16 this month in a last-ditch attempt to wrest the second AL wild-card playoff berth from Oakland. The Rays began the day trailing the A’s by 6½ games.

Texas has been shut out on a total of only six hits in the first two games of a three-game series.

The Rays scored three times in the fourth against Yovani Gallardo (8-6). Willie Adames hit a two-run homer and Joey Wendle had an RBI double.

Snell, the Rays’ first-round draft pick in 2011, was demoted to Triple-A Durham last season. Since he returned on Aug. 8, 2017, Snell has a 25-6 record. In his year-plus in the majors before that, he had been 6-14.

Snell remained the AL leader in wins over Cleveland’s Corey Kluber, who won his 19th on Tuesday night.

Three Rays relievers completed the four-hit shutout with four scoreless innings.

Gallardo pitched in and out of trouble in his five innings, allowing eight hits and three walks. He benefited from three of the Rangers’ four double plays.

Wendle tied a career high with four hits, including two doubles.

Rays left fielder Tommy Pham played despite groin and finger injuries.

“There’s guys that wouldn’t be playing with the injury that he had in his finger,” manager Kevin Cash said.

Yankees 3, Red Sox 2 • In New York, Neil Walker hit a three-run homer, Zach Britton started a game-ending double play in the ninth inning and the Yankees kept the Boston Red Sox from a bubbly celebration in the Bronx for at least another night. Aaron Judge returned to New York’s lineup for the first time since breaking his right wrist July 26, while AL MVP candidate Mookie Betts got a day off for Boston after injuring his left side Sunday. Boston needs one win to clinch the AL East. Astros 7, Mariners 0 • In Houston, Marwin Gonzalez hit a two-run homer in a four-run third inning that helped the Astros to a win over Seattle. Rookie starter Josh James (1-0) struck out seven and scattered four hits over 51⁄3 innings for his first major league win. Four relievers completed the shutout.

Indians 5, White Sox 3 • In Cleveland, Corey Kluber struck out 11 in eight innings to record his career-high 19th win as the Indians beat Chicago. Kluber (19-7), who allowed three runs, topped 200 strikeouts for the fifth straight season. Kluber won 18 games in three of the previous four seasons, including his two AL Cy Young Award-winning years, 2014 and 2017.

Nationals 4, Marlins 2 • In Miami, Stephen Strasburg matched his season high with 11 strikeouts and Bryce Harper tied a career high with five walks as Washington beat the Marlins. Strasburg (9-7) pitched six innings and allowed two runs and five hits with two walks. At one point, he struck out six straight batters. Phillies 5, Mets 2 • In Philadelphia, Jorge Alfaro hit a go-ahead, three-run homer in the sixth inning and the Phillies rallied past New York to boost their faint playoff hopes. Twins 5, Tigers 3 • In Detroit, Chris Gimenez homered and Tyler Austin drove in three runs as Minnesota beat the Tigers for its third straight win.

Reds 3, Brewers 1 • In Milwaukee, Jose Peraza capitalized on Chase Anderson’s home run troubles with a drive in the first inning and Cincinnati handed the Brewers their third loss in four games. The Brewers’ edge for the top NL wild-card spot was cut to two games by St. Louis, with Colorado also in contention.

Pirates 2, Royals 1 (11) • In Pittsburgh, pinch-hitter Ryan Lavarnway drove in the winning run with a single in the 11th inning, Jameson Taillon struck out a career-high 11 and the Pirates beat Kansas City. Cardinals 8, Braves 1 • In Atlanta, Paul DeJong hit a two-run homer, Yadier Molina added a two-run single in a four-run eighth inning and St. Louis won its third straight game with a victory over the NL East-leading Braves.

Blue Jays 6, Orioles 4 • In Baltimore, the Orioles fell to Toronto, dropping their 108th game, a team record for losses since they arrived in Baltimore in 1954. The 1988 Orioles, who opened the season 0-21, held the previous team record for losses with a 54-107 finish. The overall franchise record for defeats is 111, set by the 1939 St. Louis Browns — a mark this year’s team could still eclipse.