SAN DIEGO >> Ji Man Choi, Bryan Reynolds and Carlos Santana hit home runs for the Pittsburgh Pirates, who held off the San Diego Padres 3-2 on Wednesday to win two of three games.

David Bednar loaded the bases with one out in the ninth inning and then walked pinch-hitter Juan Soto before getting rookie Taylor Kohlwey to foul out and then striking out Trent Grisham for his 20th save of the season.

The Padres, who have baseball’s third-highest payroll but are mired in fourth place in the NL West, went 1-5 this season against Pittsburgh, which is in last place in the NL Central.

Right-hander Johan Oviedo (4-11) shook off three pitch clock violations and a wild pitch in the first inning to snap a streak of eight straight losing decisions. He held San Diego to one run and three hits in six innings to win for the first time since May 19 against Arizona.

Seth Lugo (4-5) tied his career high with eight strikeouts while allowing two runs and three hits in seven innings.

Rangers 13, Astros 5 >> Adolis García hit a grand slam to highlight a seven-run fifth inning and AL West-leading Texas slugged four homers in a win over Houston.

YANKEES 3, METS 2 >> Carlos Rodón earned his first victory in four starts and the Yankees got an offensive spark from Harrison Bader in earning a split of the two-game Subway Series.

Bader had three hits and scored twice at Yankee Stadium, including an aggressive dash and headfirst dive into home plate. Rodón (1-3) outpitched fellow lefty José Quintana before four Yankees relievers combined to retire all 10 batters they faced.

BREWERS 3, REDS 0 >> Freddy Peralta pitched six strong innings and matched a career high with 13 strikeouts, and Tyrone Taylor hit a two-run homer to lead Milwaukee.

The Brewers (57-46) took two of three games in the series and extended their lead in the NL Central to 1 1/2 games over the Reds (56-48). This marked the final matchup of the season between the teams, with Milwaukee winning the season series 10-3.

NATIONALS 5, ROCKIES 4 >> CJ Abrams’ two-run single capped a four-run ninth inning and Washington rallied to beat Colorado.

MARINERS 8, TWINS 7 >> Dylan Moore hit two home runs, including a three-run shot in the fifth inning, and Seattle held on to beat Minnesota.

RED SOX 5, BRAVES 3 >> Justin Turner hit a go-ahead, two-run double off the Green Monster in the seventh inning and Boston swept the two-game series against major league-leading Atlanta.

PHILLIES 6, ORIOLES 4 >> Edmundo Sosa hit a tiebreaking solo homer to the opposite field with two outs in the seventh inning to help Philadelphia beat Baltimore.

GUARDIANS 8, ROYALS 3 >> José Ramírez hit a two-run homer in the first inning and a solo shot in the fourth, leading Cleveland past Kansas City.

CARDINALS 11, DIAMONDBACKS 7 >> Nolan Gorman hit two of St. Louis’ five home runs in a win over Arizona.

MARLINS 7, RAYS 1 >> Sandy Alcántara threw a five-hit complete game and Miami stopped a 10-game road losing streak.

BLUE JAYS 8, DODGERS 1 >> Whit Merrifield hit a three-run homer, Danny Jansen also went deep and Toronto took two of three from NL West-leading Los Angeles.