Mookie Betts homered and scored twice as the last-place Red Sox won for the eighth time in 11 games. They have taken the first two this weekend at Citi Field after the NL East-leading Mets returned from an 8-1 road trip.
New York has dropped five in a row at home, its worst skid of the season.
After giving up a leadoff double and throwing 30 pitches in the first, Kelly (8-6) settled in and shut down the Mets. Sporting his goggles and a mustache, he gave up five hits over 7 1/3 innings -- matching his previous start for his longest of the year.
The rest of Kelly's winning streak came with part-time catcher Ryan Haniganbehind the plate -- and Kelly credited Hanigan for his stark turnaround. But this time it was rookie Blake Swihart catching, after Hanigan was scratched from the lineup an hour before the game with tightness in his right calf.
Jean Machi pitched a perfect ninth for his third save, one day after the Red Sox used all seven relievers in a 10-inning victory.
Last season's NL Rookie of the Year, deGrom (12-7) rebounded from a bout of food poisoning that perhaps contributed to the worst start of his two-year career Monday at Philadelphia. On Saturday, he struck out 10 in six innings, yielding two runs and four hits.
Sandoval snapped a scoreless tie in the sixth with an RBI double after Betts' leadoff single.
Later in the inning, Brock Holt knocked in a run with a groundout when fill-in Mets first baseman Daniel Murphy tried for a double play instead of throwing to the plate. It appeared Murphy could have had Sandoval hung up between third and home.
Betts homered on an 0-2 pitch from Hansel Robles in the seventh.
The standing-room-only crowd of 43,255 was the second-largest in the regular season at 7-year-old Citi Field, behind opening day in April.
Red Sox: David Ortiz, who came out of Friday night's game with tightness in his left heel, doubled off the center field wall as a pinch hitter in the ninth. Shaken up a bit after jogging into second and barely beating the play, he was immediately removed for a pinch runner. Ortiz could be back at first base Sunday, interim manager Torey Lovullo said before the game. ... LF Hanley Ramirez (sore right shoulder) sat out a second consecutive game and was not available off the bench. His work on transitioning to first base is temporarily on hold but will continue, Lovullo said. ... Rookie OF Rusney Castillo got a planned day off before running for Ortiz. LF Alejandro De Aza made his first start since Aug. 19. ... RHP Junichi Tazawa (hip, groin) was unavailable out of the bullpen. ... Lovullo said the team is discussing whether to use a six-man rotation at some point to help manage innings for rookie starters Henry Owens and Eduardo Rodriguez.
Mets: 3B David Wright was rested after playing consecutive extra-inning games the previous two nights. Wright returned Monday after missing more than four months with spinal stenosis, and the Mets want to be careful with their captain. ... With the bullpen taxed, 42-year-old starter Bartolo Colon worked a scoreless ninth on his regular throw day. It was his first relief appearance since April 14, 2011, with the Yankees.
Rookie RHP Noah Syndergaard (8-6), who turned 23 on Saturday, pitches the series finale for the Mets. He is 7-1 with a 1.82 ERA in nine home starts but has given up at least one homer in five consecutive outings overall. LHP Wade Miley(10-10) takes the ball for Boston after allowing a career-high 13 hits Tuesday in a loss at the Chicago White Sox.