Aaron Judge was happy with his first multihit game in nearly two weeks, but it was a defensive gem by teammate Brett Gardner that had the right fielder buzzing.

Judge broke out of his slump with two hits and two runs, Gardner made a game-saving catch in center and the New York Yankees rebounded from their worst home loss of the year with a 3-2 victory over the Cleveland Indians on Friday night.

With one out in the eighth inning and Tyler Naquin on second in a one-run game, Francisco Lindor hit a 374-foot drive off Zack Britton to deep right-center field. Gardner raced back, made the grab and held on to the ball as he ran into the fence.

"It was a big play," Gardner said. "Obviously if I don't get to it, there's no telling how the rest of the game unfolds."

Masahiro Tanaka pitched effectively into the seventh and New York (82-42) clinched its 27th consecutive winning record since 1993. Gary Sanchez and Gleyber Torres each had an RBI single for the AL East leaders. They won for the 15th time in 18 tries and bounced back from a 19-5 defeat Thursday night.

Jose Ramirez and Yasiel Puig homered for the Indians.

"Nobody expected this series is going to be easy for us," Puig said. "This is a good team that we faced."

Tanaka (9-6) tossed 6⅓ solid innings, allowing two runs and four hits — three to the red-hot Ramirez. Judge had his first multihit game since Aug. 3.

Detroit 2, Tampa Bay 0: Daniel Norris, winner Drew VerHagen and Joe Jimenez combined on a five-hitter to beat Charlie Morton and the Rays in St. Petersburg, Fla.

Toronto 7, Seattle 3: Vladimir Guerrero Jr. and Randal Grichuk hit back-to-back home runs and Derek Fisher and Danny Jansen also went deep for the host Blue Jays, whose 110 home runs since June 16 are two fewer than the major league-leading Yankees in that same span.

Chicago 7, Los Angeles 2: The visiting White Sox broke the game open on James McCann's grand slam in the top of the eighth vs. the host Angels.

Boston 9, Baltimore 1: Andrew Benintendi and Mitch Moreland each hit RBI triples in the fourth inning and winner Rick Porcello held the visiting Orioles to one run over six innings.

National League

Pittsburgh 3, Chicago 2: Pinch hitter Cole Tucker drew a bases-loaded walk off Brandon Kintzler and Kevin Newman hit an RBI single, all with two outs in the ninth for the Pirates. Kintzler walked three in one-third of an inning, including an intentional walk to Josh Bell with two outs and the Cubs leading 2-1.

Washington 2, Milwaukee 1: Anthony Rendon hit a tiebreaking RBI double in the eighth inning, lifting the host Nationals over the Brewers in the opener of a three-game series between playoff contenders. Washington has won five in a row. Rendon is hitting .354 in 34 games since July 6.

Los Angeles 8, Atlanta 3: Cody Bellinger hit his MLB-leading 41st home run, Max Muncy and Justin Turner connected against reliever Sean Newcomb in the seventh inning, and the Dodgers beat the host Braves in a matchup of division leaders.

Colorado 3, Miami 0: Jon Gray struck out seven in eight innings and Nolan Arenado and Ryan McMahon homered for the second straight game for the Rockies in Denver.

St. Louis 13, Cincinnati 4: Dexter Fowler hit a three-run homer and drove in four runs and Paul DeJong and Paul Goldschmidt added two-run shots as the visiting Cardinals, with a season-high 18 hits, took the NL Central lead.

Philadelphia 8, San Diego 4: Bryce Harper homered for the third straight game, helping the host Phillies run their winning streak to a season-high four.

Interleague

Kansas City 4, N.Y. Mets 1: The host Royals ended a 22-inning scoring drought with two runs in the fifth off Noah Syndergaard and dealt the Mets their fourth loss in five games.