Gleyber Torres and Zach McKinstry each had three hits and the Detroit Tigers beat the visiting San Diego Padres 6-4 on Monday night for their fourth win in five games.

The Tigers improved to 9-2 at home.

Brenan Hanifee (1-0) allowed one hit and struck out two in two scoreless innings.

The Padres’ Randy Vásquez (1-2) gave up six runs, five hits and three walks in two innings, the shortest of his five starts this season.

San Diego (16-7) fell to 4-6 on the road.

Mets 5, Phillies 4: Francisco Lindor hit two more home runs, including a leadoff shot for the second consecutive day, and New York held off visiting Philadelphia.

Jesse Winker also went deep as the first-place Mets won their fifth straight game and improved to 10-1 at home.

After the Phillies scored four times in the ninth inning, Edwin Díaz struck out Trea Turner and Bryce Harper to earn his sixth save.

Lindor drove the fifth pitch from Aaron Nola (0-5) off the facing of the second deck in right field. He made it 5-0 in the seventh with a three-run homer to right-center.

Lindor has five homers this season — four in the last four games.

Red Sox 4, White Sox 2: Walker Buehler pitched seven strong innings, Kristian Campbell’s base-loaded grounder rolled into right field for a two-run single and Boston beat Chicago in the annual Patriots’ Day game at Fenway Park.

Signed to a $21.05-million, 1-year contract by the Red Sox after getting the final out of the World Series for the Dodgers last fall, Buehler (3-1) struck out nine and gave up a run in the first before putting up six scoreless with two hits.

Guardians 6, Yankees 4: José Ramírez hit a three-run homer and Kyle Manzardo went deep on the next pitch in the third inning, helping host Cleveland beat American League-leading New York.

Ramírez and Manzardo both cleared the fence in right off Clarke Schmidt (0-1), who gave up five runs in four innings. Manzardo has homered in three straight games and has a team-high seven.

Cleveland led 6-0 before Jasson Domínguez hit a two-run homer in the seventh and Jazz Chisholm Jr. had a two-run drive in the eighth.

Marlins 6, Reds 3: Max Meyer struck out a career-high 14 in six scoreless innings, pinch-hitter Kyle Stowers had a three-run homer in the seventh and Miami beat visiting Cincinnati.

Meyer (2-2) allowed five hits and walked none, lowering his ERA to 2.10. His previous strikeout high was eight.

Braves 7, Cardinals 6: Sean Murphy hit a three-run homer during Atlanta’s five-run eighth inning, and the Braves beat visiting St. Louis for their fourth consecutive victory.

Austin Riley hit a two-run homer for Atlanta.

St. Louis lost its fifth consecutive game. It dropped to 1-10 on the road.

Braves’ Strider on IL: Braves ace Spencer Strider strained his right hamstring on Monday while playing catch and was placed on the 15-day injured list.

Atlanta made the move retroactive to Friday, two days after Strider returned from elbow surgery and made his first big league appearance since April 5 last year. Strider allowed two runs over five innings in a 3-1 loss at Toronto, and the 26-year-old right-hander was slated to make his home season debut tonight against St. Louis.