PHILADELPHIA -- It seems almost every bounce and roll is going the Chicago Cubs' way. Even the ones off the starting pitcher.
Tom Gorzelanny threw 6 2/3 shutout innings and Starlin Castro and Jeff Baker had RBI singles to lead the Cubs to their fourth consecutive victory 4-1 against the Philadelphia Phillies on Wednesday night.
"Good pitching," said Cubs manager Lou Piniella, on the reason for his team's winning streak. "We've been pitching well. Good pitching is how team's streak."
And how teams fail when facing it. A night after the Phillies struggled against Pittsburgh's Zach Duke, Gorzelanny kept them off-balance until he was struck by Carlos Ruiz's line drive in the seventh inning.
Ruiz's one-out shot struck Gorzelanny's left ring finger, then rolled toward first. He retrieved the ball and flipped underhanded to Derrek Lee, who scooped it for the out. After a mound conference, Gorzelanny left. He had X-rays taken, which came back negative.
"I should have caught it," Gorzelanny said, with a laugh. "I didn't want to come out, but I couldn't feel my finger. We'll get some treatment tomorrow and go from there."
John Grabow finished the seventh inning, but ran into trouble in the eighth, when the Phillies threatened with Ryan Howard up with one out and runners on first and third.
Grabow made a nice play on a slow roller for the second out, nipping Howard at first while a run scored. Carlos Zambrano got the final out of the inning with an assist from Castro, who fielded the ball at deep short and made a strong throw to nip Jayson Werth, with the tying run on second.
"What a great play he made deep in the hole," Piniella said. "He made some major-league plays tonight."
Castro, the youngest player in the major leagues, singled in Chicago's first run off the game's oldest player, Jamie Moyer (5-3), in the third inning. Baker stretched the lead to 2-0 with a seventh-inning single. Both run-scoring innings began with two outs and nobody on, and featured shots off the glove of a diving Placido Polanco.
"They both hit my glove and I almost caught them," Polanco said. "That's why it's a game of inches."
Castro has hit safely in 10 of 12 games since making his major-league debut on May 7.
Carlos Marmol earned his seventh save in nine chances by getting the final three outs, though he had to dance around a hit batsman and a walk before striking out Shane Victorino for the final out. The Phillies have lost back-to-back games for the first time since losing three straight April 25-27.
Moyer worked seven innings for Philadelphia, allowing two runs on four hits, with one walk and seven strikeouts, tying his season high. The 47-year-old, who began his career with the Cubs and played from them from 1986-88, has worked at least six innings in each of his eight starts this season, and threw a shutout on May 7 against Atlanta.
"Six innings? It's not that important," he said. "It's as many as you can get."
Chase Utley returned to the lineup after missing two games with flu-like symptoms. He went 1 for 3 with a single.
Chicago added two insurance runs in the ninth inning on Xavier Nady's bases-loaded single up the middle with two outs.
Philadelphia catcher Brian Schneider (strained left Achillies' strain) is scheduled to head to Triple-A Lehigh Valley for a rehab assignment. ... The Cubs placed reliever Esmailin Caridad on the 15-day disabled list with a right elbow strain, and recalled Jeff Stevens from Triple-A Iowa. Caridad felt soreness after facing one batter Tuesday against Colorado. ... Zambrano is scheduled to throw a simulated game Monday, as he works toward increasing his workload for a return to the rotation. ... The Phillies had 45,140 fans, the 61st consecutive sellout at Citizens Bank Park.