NEW YORK -- David Price picked an excellent time to erase his Boston zero in the Bronx.
"It was a much-needed win for us," Price said. "I did stuff here differently today than I have in my past four or five starts. We'll continue to switch it up."
The defending World Series champions stopped a four-game losing streak and improved to 1-4 against the Yankees this season, preventing a three-game sweep in a series shortened by a rainout.
Thunder and lightning crackled in the eighth inning of this one as New York tried to rally in a brief rain against frazzled reliever Matt Barnes, who looked incredibly uncomfortable on the mound even after the grounds crew applied drying agent.
Barnes spiked pitches, kicked at the mud, walked consecutive batters and balked home a run . He gave up three runs before finally settling down and getting out of the inning.
Brandon Workman tossed a scoreless ninth for his second career save, both in the past two weeks.
The third-place Red Sox moved within 8 1/2 games of the AL East-leading Yankees, who have a 2 1/2-game advantage over Tampa Bay. The next time baseball's biggest rivals meet is June 29-30 in London, with Boston the home team for the first two major league games in Europe.
Luke Voit homered for the Yankees , who lost for only the sixth time in 26 games. They don't visit Fenway Park until July 25-28.
Price (3-2) permitted two runs and six hits with six strikeouts in 6 1/3 innings, outpitching CC Sabathia in a matchup of AL Cy Young Award winners.
"He was great. Good command, good mix of pitches," Red Sox manager Alex Cora said. "I'm happy for him that he came here and pitched the way he did. He's been outstanding the whole season. It didn't surprise me."
Since signing a $217 million, seven-year contract with the Red Sox before the 2016 season, Price had been 0-6 with a 9.79 ERA in six starts at Yankee Stadium.
Including the playoffs, he is 3-8 in 13 starts against New York since joining Boston -- 0-4 with a 10.90 ERA in five games last year.
"I think he went to some places today that he didn't last year," Cora said. "He made some adjustments and like I said, he found a few things in October that have carried on throughout the season and he's in a good place right now."
Price, who changed his jersey to No. 10 this season as a salute to his son, is 16-14 versus New York overall -- the most wins for any active pitcher against the Yankees. He has also played for Tampa Bay, Detroit and Toronto.
Price retired his first 10 batters before giving up four straight hits in the fourth, snapping a streak of more than 14 innings without allowing an earned run.
"He seemed sharp to me," Yankees manager Aaron Boone said.
Looking for his 250th win, a fired-up Sabathia (3-2) yielded three runs in six innings. The 38-year-old lefty struck out a season-high eight after missing a turn with inflammation in his troublesome right knee. He was 6-0 with a 2.09 ERA in eight regular-season starts against Boston since his last loss in July 2016.
ALL WRONG IN RIGHT
New York was down 3-2 in the seventh when right fielder Clint Frazier let Eduardo Nunez's sharp single get past him for an error, allowing Michael Chavis to score from first base. Pinch-hitter Brock Holt looped an RBI single over a drawn-in infield, and Andrew Benintendi's single caromed off a diving Frazier and bounded away, permitting another run to score.
In the eighth, scattered fans remaining from a crowd of 40,068 booed Frazier when he had trouble with Chavis' pop-fly RBI triple .
"Maybe pressing a little bit out there," Boone said. "He's working hard at it."
Frazier would not speak with reporters after the game.
ONE AND ONLY
Boston hasn't lost five straight since an eight-game slide in July 2015. Every other big league team has dropped at least five in a row during that period.
Red Sox: 1B Mitch Moreland, out since May 26, was feeling better and slated to hit off a tee, Cora said. Both sides of Boston's first base platoon, Moreland and Steve Pearce, are on the injured list with low back strains. ... LHP Brian Johnson (elbow inflammation) is scheduled for his next minor league rehab outing Tuesday, Cora said.
Yankees: Frazier was back in the starting lineup. He was removed from Saturday night's game one inning after getting hit by a pitch in the left elbow. ... SS Didi Gregorius went 0 for 4 as the DH in his latest rehab game with Triple-A Scranton/Wilkes-Barre. After recovering from Tommy John surgery, Gregorius is expected to rejoin the Yankees in Cleveland this weekend. At first, Gregorius will probably play only two out of every three days or three out of four, Boone said. ... RF Aaron Judge (left oblique strain), RHP Dellin Betances (shoulder impingement) and 1B Greg Bird (left plantar fascia tear) are headed to the team's complex in Florida for rehab work when the Yankees go on the road this week. ... SS Troy Tulowitzki has pretty much recovered from his strained left calf and the team is discussing when he might start a rehab assignment, Boone said.
Yankees: RHP Masahiro Tanaka (3-4, 3.20 ERA) starts Tuesday at Toronto vs. LHP Clayton Richard (0-1, 3.38) when the AL East foes meet for the first time this season. Tanaka is 11-4 with a 2.69 ERA against the Blue Jays.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Source: Catcher Yan Gomes agrees to 2-year, $10M deal with Nationals
Veteran catcher Yan Gomes has agreed to a one-year deal to return to the Nationals, sources told ESPN.
Reports: Baltimore Orioles put Jonathan Villar on outright waivers
The Orioles put Jonathan Villar, who had a career year last season, on waivers after they were unable to find a suitable trade partner for him before Monday's non-tender deadline, according to a MASN Sports report.
Twins SS Jorge Polanco undergoes ankle surgery for chronic injury
Twins shortstop Jorge Polanco is rehabilitating from arthroscopic surgery on his right ankle and is expected to be fully recovered in plenty of time for spring training.
Rays acquire Brian O'Grady from Reds, cut Jesus Aguilar
The Rays have acquired minor leaguer Brian O'Grady from the Reds for a player to be named and cash while also designating first baseman Jesus Aguilar for assignment
Surprising Luis Urias-Trent Grisham trade could be a win-win for Padres, Brewers
San Diego shipped infielder Luis Urias to Milwaukee for outfielder Trent Grisham in a pre-Thanksgiving deal with upside for both teams.
Pirates hire Twins bench coach Derek Shelton as manager
Derek Shelton, who spent the past two seasons as the Twins' bench coach, has been hired as the Pirates' manager.