Matt Carpenter's sacrifice fly in the top of the 12th inning gave the St. Louis Cardinals a 6-5 win over the Philadelphia Phillies on Saturday night. The Cardinals moved within a half-game of Milwaukee for first place in the NL Central with the win, their eighth in 10 games. Daniel Descalso drew a leadoff walk against Ken Giles (2-1) and eventually scored on Carpenter's deep fly to left field. Jhonny Peralta hit a solo homer for the Cardinals, who dropped the opener of the three-game series 5-4 on Friday night. Seth Maness (5-2) worked two innings for the win and Trevor Rosenthal stranded a runner in the bottom of the 12th to earn his 38th save. Ryan Howard had a solo homer and Marlon Byrd hit a game-tying, two-run single in the eighth inning for the Phillies.