Rob Mackowiak drove in a career-high five runs with a three-run homer and a two-run double to lead the Pittsburgh Pirates to a 10-7 victory yesterday over the visiting Chicago Cubs.

Pittsburgh's Jason Kendall was 4 for 5, extending his hitting streak to 15. Pittsburgh had 16 hits and improved to 23-22, moving above .500 this late in a season for the first time since Aug. 15, 1999.

Mackowiak's fourth-inning homer helped overcome a 5-1 deficit. He has three homers in two days and eight in May.

"That's one of those things that doesn't happen to you, it happens to somebody else," he said of his hot streak.

On Friday, Mackowiak became a father for the first time, hit a grand slam to win the first game of a doubleheader and hit a two-run homer in the ninth inning of the second game, which the Pirates won in 10 innings.

"He has just been tremendous," Pirates Manager Lloyd McClendon said. "He's certainly swinging the bat extremely well, he believes in his ability and doesn't panic at the plate. The game seems to have slowed down for him."

Mackowiak has hit seven of his 11 home runs in the last 13 games.

"We're not pitching him right or he's just hot right now," Cubs Manager Dusty Baker said. "What's he have, 11 RBIs in three swings of the bat or something?"

Aramis Ramirez had four RBI for Chicago, which has lost five straight.

* CARDINALS 10, ASTROS 3: Albert Pujols homered twice, going 4 for 5 with three RBI, to power St. Louis to victory in Houston. It was the Cardinals' fifth straight win over the Astros.

Pujols homered in the first and fifth innings off Wade Miller (5-5). Pujols has five homers in his last seven games, raising his season total to 14, tying for the major league lead.

Cody McKay went 4 for 5 for the Cardinals, who had 16 hits, and Roger Cedeno hit his first home run since last Sept. 16 for the New York Mets.

* GIANTS 5, ROCKIES 3: In San Francisco, Barry Bonds hit a game-tying double in the sixth, then scored on Yorvit Torrealba's two-run double as the Giants won their eighth straight game.

Jerome Williams (4-3) worked 71/3 innings for his first win since April 24, a span of six starts. He struck out eight.

* REDS 4, EXPOS 1: In Montreal, Adam Dunn homered for his first hit in a week and Jose Acevedo got his first win in over a month for Cincinnati.

Cincinnati has won nine of 11 and is tied with Florida for the league's best record at 29-20.

Acevedo (3-3) scattered five hits in seven innings and Danny Graves posted his major league-leading 23rd save.

* DODGERS 10, DIAMONDBACKS 0: Jose Lima allowed two hits in eight scoreless innings, and Adrian Beltre and Juan Encarnacion hit three-run homers to spark Los Angeles at home.

Paul Lo Duca was 4 for 4 with a pair of RBI and Shawn Green also drove in two runs to help the Dodgers end a four-game skid.

Lima (4-1) retired 20 of his first 22 batters. The only hits he allowed were two-out doubles by Scott Hairston in the third inning and Steve Finley in the seventh. Eric Gagne worked the ninth to complete the three-hitter.

* BRAVES 9, PHILLIES 3: J.D. Drew homered and drove in three runs and John Thomson pitched seven solid innings for Atlanta in Philadelphia.

Loser Vicente Padilla allowed four runs and five hits in five innings before leaving with an inflamed right elbow. He was placed on the 15-day disabled list after the game.

* MARLINS 3, METS 2: In Miami, Mike Lowell homered off former Florida closer Braden Looper in the bottom of the 10th inning to lift the Marlins. Lowell's 14th home run of the season tied him for the major league lead.

* BREWERS 4, PADRES 3: Wes Obermueller hit a three-run double and struck out six over six innings to lead Milwaukee at home. Obermueller (3-1) doubled off Dennis Tankersley (0-1) with two outs in the second.

Pirates' Rob Mackowiak circles bases after 3-run homer against Cubs. Mackowiak, who had career-high 5 RBI, has homered in last three games.