Castro and Colvin homered to complete an outstanding first week atop the batting order and Cashner used his triple-digit fastball to pitch out of two late-inning jams Saturday as the Cubs held on for a 6-5 victory over the St. Louis Cardinals.
"He's mature beyond his years," Ryan Theriot said of the 23-year-old Cashner, though the second baseman also could have been talking about Castro, 20, and Colvin, 24. "We've got some talented kids here."
The Cardinals finally scored after being shut out the previous two days but didn't get enough clutch hits to avoid their third straight loss.
"We had some chances," manager Tony La Russa said. "It was frustrating in a couple of places."
They had runners on the corners with nobody out in the seventh when Cashner came on to face Albert Pujols, one of baseball's most feared hitters. Pujols worked the count full and fouled off two 100 mph fastballs before hitting a deep sacrifice fly to make it 6-4.
Asked what he was thinking as Pujols dug in at the plate, Cashner said: "Not giving in. If I'm going to get beat, I'd rather get beat with my fastball."
After Jon Jay was caught stealing, Cashner -- who had a sore throat that required postgame treatment -- got Matt Holliday to ground out. An eighth-inning error by Theriot let a run score and put runners on first and second. But Cashner got Randy Winn to fly out and Tyler Greene to ground into a double play.
"Their reliever ... was treated like he was Greg Maddux," La Russa said, referring to the former All-Star pitcher who regularly got off-the-corner calls.
The Cubs, who are eight games under .500 and nine games behind St. Louis, built a 6-3 lead thanks mostly to Colvin and Castro. Since manager Lou Piniella decided last Sunday to put his two youngest position players atop the order, Colvin and Castro have combined to hit .385 with 13 runs and 11 RBIs.
One of the majors' lowest-scoring teams, Chicago has averaged 7.2 runs in the six games since the move, winning four times.
Colvin led off with a homer for the second straight day, the first Cubs player to do so since Alfonso Soriano in May 2008. He leads all rookies with 15 home runs.
After the Cardinals went up 2-1 on Greene's two-run second-inning single -- snapping their 21-inning scoreless streak -- Colvin drew a one-out walk in the third and scored when Castro homered on Blake Hawksworth's next pitch to put the Cubs ahead to stay.
Castro also doubled and singled. He is batting .489 with eight runs and eight RBIs in his last 11 games.
Colvin is impressed that after hitting .227 in June, Castro is batting .389 in July.
"He adjusted so quickly," Colvin said. "He scuffled a little bit and now he's hitting every ball hard."
Tom Gorzelanny (6-5), in Chicago's rotation only because Carlos Zambrano was suspended after a June 25 dugout altercation with teammates, has won his last four starts. He allowed three runs on seven hits and three walks in six innings.
Hawksworth (4-6) left after allowing fifth-inning singles to Castro and Aramis Ramirez. Mitchell Boggs then walked Marlon Byrd and threw a wild pitch that let Castro score. Catcher Yadier Molina misfired while trying to throw out Castro, and Ramirez came home on the error to put the Cubs up 6-3.
"The only chance we had to throw him out was for [Molina] to make an incredible throw," Boggs said. "He tried to, and I did the best I could to catch it. It just didn't happen."
Byrd added a third-inning RBI double for the Cubs, who on Sunday will go for their first sweep of the Cardinals in four years.
St. Louis right fielder Ryan Ludwick came off the DL (left calf) and went 1-for-3 with a walk. ... On the one-year anniversary of his Cardinals debut, Holliday extended his hitting streak to 10 games but was retired on a soft liner to end the game. ... Colvin's 15 HRs are the most by a Cubs left-handed-hitting rookie since Mel Hall had 17 in 1983. ... The Cubs agreed to terms with second-round draft pick Reggie Golden, an outfielder from Wetumpka, Ala.