Boston Red Sox starter David Price pitches to a Tampa Bay Rays batter during the third inning of a baseball game Wednesday, May 23, 2018, in St. Petersburg, Fla. (AP Photo/Steve Nesius)
Boston Red Sox starter David Price pitches to a Tampa Bay Rays batter during the third inning of a baseball game Wednesday, May 23, 2018, in St. Petersburg, Fla. (AP Photo/Steve Nesius) Credit: Steve Nesius

St. Petersburg, Fla. — Xander Bogaerts sparked a three-run rally in the ninth inning, David Price pitched the bulk of a three-hitter and the Boston Red Sox beat the Tampa Bay Rays, 4-1, on Wednesday night for their fourth straight win.

Bogaerts doubled off Alex Colome (2-5) to drive in J.D. Martinez, who reached on a throwing error by shortstop Willy Adames to lead off the ninth. After a wild pitch, Eduardo Nunez drove in a run with a sacrifice fly, and Boston tacked on another on a passed ball.

Price pitched three-hit ball over six innings, allowing a run while striking out nine. Joe Kelly (3-0) got the win and Craig Kimbrel pitched the ninth for his 15th save.

Adames, playing only his second major league game, threw out Nunez at the plate after a two-out double by Jackie Bradley Jr. in the fifth, preserving a scoreless tie.

The Rays did not get a runner into scoring position until the sixth, when C.J. Cron doubled off the center field wall. That hit drove in Denard Span following a leadoff walk.

Christian Vazquez got Boston on the board in the sixth, singling off starter Chris Archer and later scoring when Hanley Ramirez bounced into a bases-loaded double play.

Archer has won only one of his last 20 starts against Boston. He gave up one run, four hits and three walks in six innings, striking out six.

The game featured eight hits and 24 strikeouts, including four in a row by Rays reliever Jose Alvarado.

Rangers 12, Yankees 10

Arlington, Texas — Jurickson Profar had a bases-clearing double to put Texas ahead to stay in a wild, series-clinching win over the Yankees, who matched a major league record with four more homers on Wednesday night.

Gleyber Torres became the youngest Yankee ever to homer in three consecutive games, and Aaron Judge hit a 471-foot blast as New York became only the third team in major league history with 21 homers in a five-game stretch — 12 of those in Texas.

Royals 5, Cardinals 2 (10)

St. Louis — Drew Butera had a two-run single in the 10th inning for Kansas City.

Butera’s RBIs were his first since May 2. Jon Jay followed with an RBI single as the Royals won their first series since taking three of four from Detroit on May 3-6.

Tigers 4, Twins 1

Minneapolis — Michael Fulmer won for the first time in four starts, Niko Goodrum ended an 0-for-14 skid with a home run and Detroit stopped a five-game losing streak.

Fulmer (2-3) allowed one run and four hits in 5⅔ innings with five strikeouts, improving to 4-0 against Minnesota as he threw a season-high 112 pitches.

Astros 4, Giants 1

Houston — Justin Verlander got some run support for the first time in nearly a month and led Houston over San Francisco.

Verlander (6-2) struck out nine and walked one in six innings, allowing one run and three hits as his major league-leading ERA rose slightly to 1.08.

Padres 3, Nationals 1

Washington — Christian Villanueva hit a two-run double, Tyson Ross pitched into the seventh inning and San Diego defeated Washington to salvage the finale of a three-game series.

Ross (4-3) didn’t allow a runner past second base until the seventh, struck out nine and yielded one run in 6⅔ innings.

Brewers 9, Diamondbacks 2

Milwaukee — Travis Shaw hit a three-run homer and Jesus Aguilar had a go-ahead, two-run single during a seven-run fourth inning to help Milwaukee beat Arizona and send the Diamondbacks to their seventh straight loss.

Brent Suter (4-3) allowed two runs and four hits in 5⅔ innings as the NL Central-leading Brewers moved a season-high 12 games over .500.

Marlins 2, Mets 1

New York — J.T. Realmuto and Starlin Castro each hit an RBI single off closer Jeurys Familia in the ninth inning, and Miami rallied past New York.

Jacob deGrom dodged trouble throughout seven scoreless innings and Brandon Nimmo homered in the fifth for the Mets, who carried a slim lead into the ninth.

Phillies 4, Braves 0

Philadelphia — Jake Arrieta struck out seven in 6⅔ sharp innings, Carlos Santana’s swinging bunt broke a scoreless tie and Philadelphia beat Atlanta.

The Phillies took two of three to win their first series against the NL East-leading Braves in four tries and closed to within a half-game of first place.

Indians 1, Cubs 0

Chicago — Adam Plutko carried a no-hitter into the seventh inning and Andrew Miller provided stellar relief work, helping Cleveland beat Chicago.

Plutko (2-0) struck out four and walked four in his second major league start.

White Sox 11, Orioles 1

Chicago — Dylan Covey tossed seven strong innings for his first major league win, Yoan Moncada and Adam Engel each hit three-run homers and Chicago pounded Baltimore.

Jose Rondon added his first major league homer, a two-run shot in the seventh, as last-place Chicago rolled to its fifth win in seven games.