David DeJesus hit a bases-loaded triple before injuring his shoulder when he crashed into the outfield wall, and the Cubs beat the Mets 6-3 on Friday night in New York behind resurgent starter Edwin Jackson.
Nate Schierholtz homered and Anthony Rizzo had three hits for Chicago in the opener of a three-game series between big-market teams trying to rebuild. Jackson (3-8) went six innings for his second consecutive win, allowing one run and five hits while striking out seven.
Mets starter Shaun Marcum (0-8) was hit hard early but retired 12 straight during one stretch and pitched into the sixth. It was his first outing since throwing eight innings of splendid relief in a hard-luck loss to Miami on Saturday, when the Mets were beaten 2-1 in 20 innings.
Daniel Murphy hit two RBI singles and David Wright had three hits for the second consecutive game, but his baserunning blunder stopped a Mets rally in the seventh. New York has lost nine of 11 since a five-game winning streak.
Coming off a 14-inning victory Thursday at home over Cincinnati, the Cubs won their second in a row after dropping eight of 10.
Astros 2, White Sox 1: Erik Bedard pitched six solid innings, and Jose Altuve hit a go-ahead RBI single to give the Astros a win over the White Sox in Houston.
Bedard (2-3) yielded three hits and one run with six strikeouts to bounce back from his previous outing when he allowed six runs in 4 2/3 innings.
Alexei Ramirez committed two errors in the fifth inning to help the Astros take the lead. The miscues ruined a great outing by Chris Sale (5-5), who allowed five hits and no earned runs with a season-high 14 strikeouts in eight innings.
Marlins 5, Cardinals 4: Rookie Jose Fernandez outpitched a rusty Jake Westbrook, and the team with the worst record in the majors beat the team with the best record in Miami.
Fernandez had a career-high 10 strikeouts in seven innings, and the Marlins spoiled Westbrook's return from an elbow injury.
The 20-year-old Fernandez (4-3) became the first pitcher under 21 to strike out 10 or more since Felix Hernandez with Seattle in 2007. Relying heavily on breaking balls, he threw a career-high 107 pitches and allowed three runs, two earned.
Westbrook (2-2), who had been sidelined with elbow inflammation, went five innings in his first game since May 8. He allowed five runs, two of them unearned because of a misplayed grounder by second baseman Matt Carpenter, and his ERA rose to 2.05.