NEW YORK — Alex Rodriguez moved past Barry Bonds for second place on the career RBI list and got four hits Friday night as the New York Yankees built a huge lead, then scrambled to hold off the Los Angeles Angels 8-7 for their fourth straight victory.

Down 8-1 in the ninth inning, the Angels rallied for six runs with the help of a routine popup that dropped between two infielders for a single. Their first eight batters reached base against Esmil Rogers and Dellin Betances.

The Angels still had the bases loaded with no outs, trailing 8-6. Betances, nicked for an earned run for the first time this season, retired the next three batters for his second save. He struck out pinch-hitter Carlos Perez with runners at the corners to end it, sending Los Angeles to its third loss in a row.

Light-hitting Stephen Drew homered twice and Mark Teixeira connected early as the Yankees took advantage of their ballpark’s short porch in right field and Jered Weaver’s soft tosses.

BLUE JAYS 6, ASTROS 0: Aaron Sanchez pitched into the ninth inning, Jose Reyes and Jose Bautista each hit a two-run homer, and host Toronto ended a seven-game losing streak against the Astros.

Sanchez (5-4) allowed one run and six hits in eight-plus innings, leaving after giving up three straight hits to start the ninth. Roberto Osuna finished to give Toronto its first win over Houston since Aug. 1, 2014.

ORIOLES 5, INDIANS 2: Adam Jones hit a tie-breaking home run, and Matt Wieters, playing his first game in over a year after elbow surgery, had two hits and two RBI, leading Baltimore at Cleveland.

RANGERS 4, ROYALS 0: Chi Chi Gonzalez threw a three-hit shutout in his second major league start for Texas, and host Kansas City lost for the eighth time in 10 games.

Gonzalez (2-0), the Rangers’ 2013 first-round draft pick, has not allowed a run and yielded only five hits in 142/3 innings.

WHITE SOX 4, TIGERS 3: Alex Wilson hit Avisail Garcia with a pitch with the bases loaded in the 11th inning, and Chicago won at home as Detroit lost its eighth straight loss.

Adam LaRoche hit a tying solo homer off Joakim Soria with two outs in the ninth, and the four-time defending AL Central champions matched their longest skid since 2005.

NATIONAL LEAGUE

NATIONALS 7, CUBS 5: Danny Espinosa gave Washington an early lead with a three-run homer in the second and the host Nationals snapped a three-game losing streak.

The Nationals finished with 12 hits and broke out of a recent slump in which they scored only 15 runs while losing six of seven.

GIANTS 5, PHILLIES 4: Buster Posey hit a go-ahead home run in the seventh, and Matt Duffy and Justin Maxwell also homered, helping San Francisco Giants snap a five-game skid with a victory at Philadelphia.

Tim Lincecum (6-3) was good enough, allowing four runs on five hits in six innings.

PADRES 6, REDS 2: Will Venable hit the first of San Diego’s three solo homers, taking advantage of Jon Moscot’s shaky debut, and the Padres pulled away in a rain-delayed game at Kansas City.

Will Middlebrooks and Derek Norris also connected for the Padres.

PIRATES 10, BRAVES 8: Neil Walker and Starling Marte homered, and streaking Pittsburgh held on at Atlanta.

Pirates catcher Francisco Cervelli drove in two runs with four hits, matching his career high.

INTERLEAGUE

BREWERS 10, TWINS 5: Adam Lind hit a three-run homer among his three hits and drove in six runs to lead Milwaukee at Minneapolis.