The Mets made three more errors behind Santana (6-2), bringing their total to 12 in his nine starts. They've made 35 all season. But only one led to a run Friday.
The game became testy in the fifth, when Santana hit Kevin Youkilis with a pitch and the players exchanged words. Youkilis struck out in his other three at-bats.
New York never trailed after Gary Sheffield's 502nd career homer and third of the season made it 1-0 in the second. Jason Varitek's eighth homer tied it in the bottom of the inning before New York took the lead for good against Daisuke Matsuzaka (0-2) with three runs in the fourth.
Matsuzaka was activated Friday after going on the disabled list April 15 following two poor outings.
Francisco Rodriguez pitched a perfect ninth for his 12th save in 12 opportunities.
Santana had struggled in his other four appearances at Fenway Park with a 1-3 record and 6.89 ERA. But he came into Friday's game with an NL-best 1.36 ERA. He allowed two more earned runs while striking out eight and allowing six hits and one walk.
The first batter he faced, speedy Jacoby Ellsbury, beat out a high hopper to second baseman Luis Castillo. Then came the first error
- a tough bouncer that eluded third baseman David Wright. But Santana struck out the next two batters and ended the inning with a forceout at second.
The next error came in the fourth, the first of two by shortstop Ramon Martinez.
Jason Bay led off with a walk and was forced at second on J.D. Drew's grounder. Mike Lowell doubled Drew to third and both scored when Varitek's shot bounced off Martinez and into short left field. Varitek reached second, but Santana retired the next two batters, ending the inning with a 4-3 lead.