Lucas Duda, David Wright and Marlon Byrd all hit solo home runs in helping snap New York's three-game losing streak. St. Louis, owner of the best record in the majors, had won its previous two contests.
Gee (5-6) allowed the only St. Louis run on a home run by Allen Craig in the sixth inning. The New York starter surrendered six hits and walked two.
The Mets came up with RBI singles from Daniel Murphy and Duda to take a first-inning lead. Duda's home run came in the fourth, Wright hit his in the sixth and Byrd finished the New York scoring in the seventh.
St. Louis starter Shelby Miller (7-4) struck out 10, but he gave up four runs on five hits in six innings to suffer the loss.
Kate Middleton recycles dress at movie premiere
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'