Sam Fuld hit a go-ahead two-run single off Chris Carpenter, Casey Coleman pitched seven effective innings and the Chicago Cubs beat St. Louis 7-3 on Saturday, damaging the Cardinals' flickering playoff hopes.

Blake DeWitt and Aramis Ramirez had two hits and two RBIs apiece for Chicago, which trailed 3-0 in the third. Coleman allowed two earned runs and five hits.

Carpenter (15-9) lasted just four innings and reliever Blake Hawksworth was hit in the face by a Fuld liner in the fifth, sending the reliever to the hospital.

St. Louis' loss dropped the magic number for Cincinnati to clinch the NL Central title to two. The Reds were at San Diego later in the day.

Albert Pujols hit an RBI double in St. Louis' two-run third, helping the Cardinals build a 3-0 lead, but the Cubs responded by scoring four runs with two out in the bottom half.

Ramirez singled in Blake DeWitt and Kosuke Fukudome scored on catcher Bryan Anderson's throwing error, cutting it to 3-2. Carpenter then intentionally walked Alfonso Soriano to get to Fuld, who grounded a single back up the middle.

Ramirez added another run-scoring single in the fourth and DeWitt tripled in a pair of runs in the fifth. Both hits also came with two out.

Carpenter allowed five runs and seven hits, dropping to 0-4 with an 8.44 ERA in his last four starts. The right-hander also has lost his last three starts against the Cubs.

After striking out Soriano to start the fifth, Hawksworth was hit in the face by a Fuld liner near his mouth and crumpled to the field. He eventually walked off and was taken to a hospital for treatment.

Coleman (3-2) struck out four and walked two in his seventh major league start. The 23-year-old right-hander is 3-1 with a 3.68 ERA in his last six outings.