Boston did come close to scoring on Harvey when Mookie Betts crushed a fly ball to deep left field with two outs in the third inning. But the ball caromed off the top of JetBlue Park's towering Green Monster and stayed in play for a double.
"We had a chance to watch four innings of one of the better pitchers in the game," said Red Sox manager John Farrell. "Any time you know that a guy's coming back from what he's gone through, anyone returning from Tommy John, to see the power and the shape to the secondary pitches from him, he's a heck of a pitcher."
The Mets reached Red Sox started Joe Kelly for three runs on seven hits over 2 2/3 innings before he left the mound with a team trainer in the middle of an at-bat. Kelly was dealing with biceps tightness that impacted him on the mound.
"It affected the way the ball was coming out of my hand," Kelly said. "Couldn't spin the ball. I could throw a changeup and fastball and pretty soon it got to just fastball and was a little inconsistent coming out of my hand and prevented me from making pitches I needed to make."
New York got on the board in the second, as Michael Cuddyer doubled and scored on a single by John Mayberry Jr., who came home himself when Anthony Recker slammed a double off the left-field wall. Mayberry, who later added another single, is now 12-for-24 with six RBIs this spring.
The Mets began the following inning with four straight singles, with Curtis Granderson driving home a run on a liner to center.
Boston broke up the shutout against Mets prospect Noah Syndergaard in the sixth. Reserve catcher Matt Spring walloped a solo homer over the Monster for his first hit of the spring, and Betts tripled deep to center before scoring on a wild pitch.
The Red Sox tied the game in the eighth inning on an RBI double by Blake Tekotte. Then in the ninth, Garin Cecchini singled with one out before Spring, who finished 3-for-3, doubled off the wall in left. Tekotte was walked intentionally to load the bases for Brock Holt, but Cory Mazzoni's pitch got past Kevin Plawecki for a passed ball to score Cecchini with the winning run.
Up next: The Red Sox will host the Braves on Tuesday at JetBlue Park at 1:05 p.m. ET. Fans can watched that game on MLB.TV. Right-hander Clay Buchholz gets the start for Boston as he looks to continue his strong spring in his third outing. Thus far, Buchholz has allowed only one unearned run on four hits over six innings, while striking out six. Left-handed prospect Eduardo Rodriguez and closer Koji Uehara are among those scheduled to appear in relief. The Red Sox will face Atlanta righty Shelby Miller, who was acquired from the Cardinals this offseason in the Jason Heyward deal.
Andrew Simon is a reporter for MLB.com. Follow him on Twitter @AndrewSimonMLB. This story was not subject to the approval of Major League Baseball or its clubs.