Jamie Moyer pitched a seven-hitter and Jayson Werth homered to help the Philadelphia Phillies break out of their offensive slump with a 6-2 win over the San Diego Padres on Saturday night.
Jonathon Niese pitched brilliantly in his return from the disabled list and David Wright hit a rare homer at Citi Field for New York.
Rookie Mike Leake allowed an unearned run over seven innings to remain unbeaten for Cincinnati.
Rookie Tyler Colvin hit a two-run home run and Aramis Ramirez homered and had 2 RBIs to help Chicago snap a four-game losing streak.
Colby Rasmus singled home the winning run in the 11th to lift St. Louis.
Andrew McCutchen had four hits, including a homer, and scored three runs to lead Pittsburgh.
Ryan Doumit also homered for the Pirates and had four RBIs, and Paul Maholm (4-4) allowed two runs over 6 1-3 innings to become the first Pirates starter to win a game in almost three weeks.
Pittsburgh has won three of four since snapping a five-game losing streak.
Giants starter Todd Wellemeyer (3-5) was charged with six earned runs on nine hits with three walks and two strikeouts in three-plus innings, his shortest start this season.