CHICAGO -- Facing his former team for the first time, Scott Feldman had one of the best starts of his major league career.
Feldman threw seven scoreless innings before leaving with a cramp in his pitching hand, and the Chicago Cubs came within three outs of their first shutout since August in a 9-2 win over the Texas Rangers on Monday night.
"I tried to just relax out there and everything, but obviously I know a lot of those guys and I've got a lot of respect for them," Feldman said. "I had a great seven or eight years over there and made some good friends. When we're not playing against them I hope they do good. But on a night like tonight, definitely want to try to get them out."
Feldman (3-3) has won three straight starts after losing his first three with the Cubs. He signed a $6 million, one-year contract with Chicago during the offseason after going 39-44 with a 4.81 ERA in parts of eight seasons with Texas.
He allowed two hits, struck out three and walked one, and also hit an RBI single in the fourth for a 2-0 lead. In Feldman's previous start, he pitched a three-hitter with 12 strikeouts in a 6-2 win over San Diego last Wednesday.
"He was really, really good again," Cubs manager Dale Sveum said. "And against a really good offense, too."
Feldman began to feel the cramp during his warmup tosses and tried to get through the inning. Two pitches in, he knew his night was over.
"I think I had a lot of pitches anyway," said Feldman, who had thrown 104, "so I was going to need some first-pitch outs maybe."
Texas scored a pair of unearned runs in the ninth after a throwing error by third baseman Luis Valbuena. The Cubs have gone 68 games without a shutout since beating Colorado 5-0 on Aug. 26, their longest streak since going 75 games in a row without shutouts from May 15 until Aug. 6, 1999, according to STATS.
Anthony Rizzo had three hits, four RBIs and his ninth home run, and Starlin Castro scored three runs for the Cubs, who scored five times with two outs in the fourth to take a 6-0 lead. Chicago, last in the NL Central at 12-20, set season highs for runs and victory margin.
"I think we're a lot better team than what our record shows, and I think a lot of people would agree with us," Rizzo said. "We've lost a lot of heartbreakers so far, but today definitely feels good and everyone should feel happy about it."
The Rangers' Nick Tepesch (2-3) lost his second straight start, allowing six runs -- five earned -- six hits and four walks in four innings.
"He was good tonight as far as our offense was concerned," Rangers manager Ron Washington said. "We couldn't do anything with him."
Coming off a three-game sweep of Boston, Texas returned to Wrigley Field to make up an April 17 rainout between Chicago's series against Cincinnati and St. Louis. The Cubs are hosting three teams in three days for the first time since Aug. 21-23, 1960.
Chicago went ahead with an unearned run in the first after David DeJesus singled, stole second and continued to third when the throw by former Cubs catcher Geovany Soto bounced into center field for an error. DeJesus scored when Alfonso Soriano beat shortstop Elvis Andrus' relay throw and avoided what would have been an inning-ending double play.
Feldman singled to spark a five-run fourth after an intentional walk to walked Darwin Barney, who was hitless in his previous 17 at-bats.
"I just didn't make a good pitch right there," Tepesch said. "That was basically it."
Castro and Rizzo followed with consecutive two-run singles.
Rizzo hit a two-run homer in the eighth off Derek Lowe. The Rangers scored in the ninth when Andrus doubled leading off against Rafael Dolis and Valbuena's throw on Adrian Beltre's grounder was well to the home plate side of first base. Soto, who spent parts of eight seasons with the Cubs and won the 2008 NL Rookie of the Year award with Chicago, hit a two-out RBI single. Playing against the Cubs for the first time, he was 2 for 4.
Chicago selected the contract of OF Ryan Sweeney from Triple-A Iowa and recalled Dolis. RHP Kameron Loe was designated for assignment and OF Dave Sappelt was optioned to the Pacific Coast League team. ... Cubs pitcher Matt Garza made his second injury rehabilitation start Monday, throwing 54 pitches in 3 1/3 innings for Iowa. Garza, who hasn't pitched in the major leagues this season, is expected to make one more rehab start before Chicago reevaluates his status. ... Rangers pitcher Martin Perez threw 53 pitches in four innings in his first rehab start for Double-A Frisco. Perez hasn't pitched this season after breaking his left wrist March 3. ... Justin Grimm (2-1, 2.28) is expected to start for Texas on Tuesday in Milwaukee against Wily Peralta, while Travis Wood (2-2, 2.50) is scheduled to face the Cardinals' Lance Lynn (5-0, 2.75). ... Rangers C A.J. Pierzynski was given the night off. Lance Berkman, who has been the Rangers' primary designated hitter, also wasn't in the lineup.