A jolt went through the Philadelphia Phillies clubhouse when the club announced it had traded for Cliff Lee, the reigning AL Cy Young Award winner.

Lee couldn't help the Phils in a 4-0 loss to the Arizona Diamondbacks on Wednesday night.

Yusmeiro Petit (1-5) matched a career high with eight strikeouts and won for the first time since Aug. 23, 2008, a span of 11 starts.

"Bottom line was, we just didn't hit him," Phils manager Charlie Manuel said.

Still, the NL East leaders were smiling as they left for San Francisco after winning two of three in the desert. Lee's acquisition bolsters the Phillies as they try to defend their world championship.

"My first thought? Happy we got another pitcher," Manuel said. "He's a good pitcher. He'll help us."

Justin Upton homered and drove in three runs and Chris Snyder added a solo shot for Arizona.

Lee's arrival may cost Philadelphia rookie J.A. Happ (7-2) his spot in the starting rotation. But Happ was relieved to remain with the Phillies after being rumored to be trade bait in recent weeks.

"I'm glad I'm here, that's for sure," Happ said.

With the acquisition of Lee from the Cleveland Indians, Manuel said he would ponder changes to his rotation. Happ made his case to stay, allowing two runs and three hits in six innings. He walked two and struck out five.

"Things happen for a reason," Happ said. "I've been hearing that from a lot of people when all this stuff's been going down. You know, I'm here and trying to do what I can do, so hopefully that means something."

The Phillies lost for only the sixth time in 25 games this month and their NL East lead dropped to six games over Florida.

The Phillies beat All-Star Dan Haren on Tuesday night, but they seemed baffled by Petit, who appeared on his way of the rotation _ and possibly the big leagues _ as recently as a week ago.

In three of Petit's July starts, the Diamondbacks' opponents had put up football-like scores of seven, 14 and 10 runs. He entered with a 7.68 ERA.

Facing the potent Phillies lineup, Petit gave up a leadoff single to Jimmy Rollins, then cruised. He allowed a single to Raul Ibanez leading off the second before retiring 15 of the next 16 batters, including 13 straight at one point.

Petit allowed four hits in six innings, walking one and striking out eight.

"It feels good, especially against that team," Petit said through an interpreter. "It's a strong and pretty good-hitting club. It makes you feel good about yourself."

Cardinals 3, Dodgers 2, 15 innings

At St. Louis, Albert Pujols lined an RBI single over the head of center fielder Matt Kemp with two outs in the 15th inning, and St. Louis handed Los Angeles its first four-game losing streak of the season.

Blake Hawksworth (1-0) allowed two hits and struck out three in three innings for his first career victory.

Jeff Weaver (5-4) worked two perfect innings before running into trouble in the 15th.

Padres 7, Reds 1

At Cincinnati, Rookie Mat Latos and two relievers combined on a one-hitter and San Diego won consecutive games for the first time in a month.

Latos (2-1) earned his second straight victory by allowing only Jerry Hairston Jr.'s homer in the fourth inning. Greg Burke and Mike Ekstrom both pitched one inning to complete the Padres' second one-hitter of the season.

Adrian Gonzalez and Kyle Blanks homered off struggling Aaron Harang (5-12). Harang hasn't won since May 25, going 0-8 in 12 starts.

Marlins 6, Braves 3

At Miami, Josh Johnson (10-2) hit a three-run homer in another solid start to lift Florida.

Johnson's shot with two outs in the fourth off Kenshin Kawakami (5-8) was the second home run of his career.

Casey Kotchman's home run leading off the fifth, and Garret Anderson's two-run homer in the sixth.

Giants 1, Pirates 0, 10 innings

At San Francisco, Randy Winn lined an RBI single down the first-base line with two outs in the 10th inning to give San Francisco a three-game sweep.

Matt Cain allowed three hits over nine innings for the Giants and Brian Wilson (3-4) worked the 10th for the victory.

Eugenio Velez led off the 10th against Matt Capps (2-6) with a single. He was sacrificed to second and scored on Winn's lone hit in five at-bats.

Cubs 12, Astros 0

At Chicago, Randy Wells (7-4) pitched eight innings and Alfonso Soriano hit a three-run homer during Chicago's six-run first inning.

Aramis Ramirez homered and drove in two runs for the Cubs, who battered Mike Hampton and improved to 10-3 since the All-Star break.

Hampton (6-8) allowed nine runs in four innings for Houston, which has lost four of five.

Brewers 7, Nationals 5

At Milwaukee, Casey McGehee hit a go-ahead, pinch-hit homer in the sixth inning.

McGehee's homer _ the Brewers' first from a pinch-hitter this season _ came with two outs off reliever Tyler Clippard (1-1) and gave Milwaukee a 6-5 lead.

Trevor Hoffman allowed one hit in the ninth to earn his 23rd save.