HOUSTON (AP) — Felipe Paulino struck out seven in eight effective innings, outpitching Carlos Zambrano and helping the Houston Astros beat the Chicago Cubs 3-1 on Friday night for their fourth straight win.

Michael Bourn had three hits and scored twice as the Astros finally provided enough offense to get Paulino his first win. Lance Berkman drove in two runs.

Houston was averaging 1.97 runs in games started by Paulino (1-7) this season, the lowest support in the majors for any regular starter.

Matt Lindstrom pitched a perfect ninth to earn his 12th save after blowing his previous two chances.

The Cubs have lost four in a row and scored only one or two runs in six of their last seven games.

Zambrano (1-4) allowed three runs and six hits over 4 1-3 innings in his first start since April 20. The $91.5 million right-hander was moved to Chicago's shaky bullpen after opening the season with a 1-2 record and a 7.45 ERA in four starts.

Zambrano was 2-0 with a 0.90 ERA in four previous starts against the Astros, including a no-hitter in September 2008, but he struggled with his control early on, leading to a short outing.

Bourn led off the first with a single, advanced on Jeff Keppinger's groundout and scored on Berkman's drive to the left-field corner. Left fielder Alfonso Soriano threw the ball to the infield in time for the Cubs to catch Berkman in a rundown between first and second.

Houston loaded the bases when Zambrano gave up a double to Carlos Lee and two-out walks to Cory Sullivan and Geoff Blum. Pitching coach Larry Rothschild visited the mound, and Pedro Feliz popped up to end Zambrano's 34-pitch inning.

Paulino escaped a bases-loaded jam in the third when Aramis Ramirez fouled out to Berkman to end the inning.

The Cubs had a scare in the fifth when rookie shortstop Starlin Castro was shaken up sliding into third on Zambrano's bunt up the third-base line. Third baseman Feliz threw out Zambrano and catcher Humberto Quintero ran to third to take the throw from first.

Quintero and Castro collided, and Castro stayed down as manager Lou Piniella and the Cubs' medical staff came out to check on him. Castro remained in the game and scored on Marlon Byrd's double to the left-field corner.

Bourn singled in the bottom half, stole second and scored on Keppinger's single. Bourn leads the NL with 18 stolen bases.

Piniella then replaced Zambrano with left-hander Tom Gorzelanny, who was making his first relief appearance after nine starts this season. Berkman drove Gorzelanny's first pitch off the left-field scoreboard for a double to give Houston a 3-1 lead.

Paulino struck out at least one hitter in every inning between the fourth and the eighth. Bourn helped Paulino with a sharp defensive play in the seventh, chasing down Mike Fontenot's drive to the warning track in left-center.

Paulino retired the last seven batters he faced.

NOTES: The Cubs are 3-23 when scoring three runs or less. ... Sullivan started in right field in place of Hunter Pence. Pence was hitting .395 with three homers in his last 11 games, but had a .227 lifetime average against Zambrano. "The matchup, I thought, really wasn't in his favor," manager Brad Mills said. Pence replaced Sullivan in the fifth to face Gorzelanny. ... Piniella adjusted his upcoming rotation after Wednesday's game in Pittsburgh was postponed until Monday. RHP Ryan Dempster (3-5, 3.72 ERA) will start Saturday's game and RHP Randy Wells (3-3, 4.40 ERA) is slated to start Sunday's finale. Carlos Silva (7-0, 3.12 ERA) will start the makeup game against the Pirates.