Mike Pelfrey pitched into the eighth inning against San Francisco's limited lineup, Carlos Beltran homered and the New York Mets averted a Giants sweep with a 5-2 win Thursday.