Clay Holmes pitched six scoreless innings, and Pete Alonso homered and drove in two runs as the New York Mets remained in playoff contention, defeating the host Miami Marlins 5-0 on Saturday.