At age 37, Pedro Martinez says he feels better than he has in years. He's healthier, eager and back in the major leagues with the defending World Series champions.

What could be better than that?

Martinez made a successful return to the big leagues Wednesday night with the Philadelphia Phillies, pitching five innings to get the win in a 12-5 rout of the Chicago Cubs.

"I actually feel good and it shows. This is my first game coming back from deciding to play baseball again and I'm totally different," said Martinez, a three-time Cy Young Award winner.

"If you look at me, attitude, aggressiveness, physically, I look better than I did the previous two years in New York. I just feel so healthy."

Bothered by injuries over his previous 2 1/2 seasons with the Mets, Martinez signed with the Phillies as a free agent on July 15. He pitched in the World Baseball Classic in the spring, but hadn't thrown in a major league game since last September.

At times Wednesday night, he looked his old self by mixing speeds and pitches and moving the ball around. His velocity reached the low 90s, and he gave up seven hits and three runs with a walk and five strikeouts.

The Phillies gave their newest starter plenty of support. Shane Victorino, Jimmy Rollins and Raul Ibanez homered to hand Chicago its fourth straight loss.

Rollins and Ibanez each connected for a three-run homer off reliever Sean Marshall during an eight-run fourth inning.

Martinez's 215th career win was his first since last Aug. 31, against Florida while with the Mets.

"He knows how to pitch. He threw with a little more velocity than I thought he would," Cubs manager Lou Piniella said.

With the Phillies ahead 12-1, Chicago loaded the bases with no outs in the fifth and Milton Bradley had an RBI single. Jake Fox hit a sacrifice fly to center on a ball Victorino caught as he was being doused by what was apparently a beer thrown out of the bleachers.

Victorino didn't want to talk about the incident.

"That shouldn't happen," Piniella said. "It's not good sportsmanship. ... We apologize to Victorino and the Phillies for that."

Giants 4, Dodgers 2, 10 innings

At San Francisco, Juan Uribe hit a two-run homer with one out in the 10th off Guillermo Mota (3-4) and the Giants avoided a three-game sweep.

Brian Wilson (4-5) pitched 1 1-3 innings with four strikeouts for the win on a wild day in which the benches cleared.

Tim Lincecum pitched into the ninth and only allowed two hits before Rafael Furcal beat out an infield single. Andre Ethier hit a tying RBI single two batters later.

Padres 6, Brewers 5

At Milwaukee, Adrian Gonzalez hit a go-ahead double in a four-run seventh inning for San Diego, which has won 11 of 15 and is 4-1 against the Brewers this year.

The Brewers, who made several personnel moves earlier in the day, have lost 23 of 36 since starting July with a two-game lead in the NL Central.

Padres starter Kevin Correia (8-9) got the win and Heath Bell earned his 29th save in 30 chances.

Cardinals 5, Reds 2

At St. Louis, Chris Carpenter won his seventh straight decision and beat Cincinnati for the third consecutive time, and Albert Pujols homered for the second game in a row.

The first four hitters in the Cardinals' lineup had at least two hits, with Matt Holliday going 3 for 4 and contributing an RBI double to a three-run first.

Pujols hit his major league-leading 38th homer in the third.

Carpenter (12-3) matched his season high with 10 strikeouts and allowed two runs and eight hits.

Rockies 8, Pirates 0

At Denver, Ubaldo Jimenez pitched three-hit ball for eight innings and Carlos Gonzalez homered for Colorado. Jimenez (10-9) won his fourth straight decision.

Kevin Hart (3-2) allowed five runs and eight hits in 5 1-3 innings for the Pirates, who lost for the ninth time in 10 games.

Mets 6, Diamondbacks 4

At Phoenix, Cory Sullivan tripled twice and Gary Sheffield had two singles in his return to the lineup, helping the Mets avoid a three-game sweep.

Luis Castillo's pinch-hit single with two outs off Jon Rauch (2-1) brought in the go-ahead run, then Sullivan tripled to make it 5-3.

Pedro Feliciano (5-4) got two outs for the victory as the Mets finished their trip 2-5 with their fourth win in 14 games. Francisco Rodriguez got his 25th save.

Braves 6, Nationals 2

At Atlanta, Adam LaRoche gave the Braves the lead with a seventh-inning homer, his second of the game. He snapped a 2-2 tie with his shot off Jorge Sosa (1-1). He also drove in a run with a bases-loaded walk.

Garret Anderson and Martin Prado hit homers for the Braves, who have won five straight. Derek Lowe (12-7) gave up two runs, seven hits and four walks in seven innings. He has won his last five decisions.

Astros 14, Marlins 6

At Miami, Hunter Pence hit two three-run homers for a career-high six RBIs to power Houston. Pence's home runs highlighted a five-run first inning and a seven-run fourth that chased Ricky Nolasco (8-8). Florida had won five straight.

Lance Berkman hit two RBI doubles in his first game in almost three weeks. He was activated earlier in the day after being on the disabled list with a strained left calf. Carlos Lee added three RBIs for the Astros.

Bud Norris (3-0) struck out six in five innings and became the first pitcher to win his first three starts with Houston since Roger Clemens won his first seven in 2004.