The Mets jumped to a 3-0 lead in the first inning on an RBI double from Daniel Murphy and Bay's two-run homer. Dickey (2-0) then took over, giving up the lone run on nine hits with seven strikeouts.
New York won its first four games of the season, then lost two in a row before downing the Phillies.
Hairston's solo homer came in the fifth and gave the Mets a 4-1 lead. Lucas Duda added a sacrifice fly in the ninth.
The first four New York runs came against Cliff Lee (0-1), who allowed five hits and struck out seven over seven innings. Philadelphia managed 11 hits overall, but had little to show for it.
Freddy Galvis hit the first home run of his big league career in the third for the Phillies, who had won two straight.