The Mets hit three home runs and got six solid innings from Christian Scott, but Reed Garrett let a four-run eighth-inning lead slip in an 8-7 loss to the San Francisco Giants at Citi Field on Friday night.