PHILADELPHIA (AP) -- Cole Hamels finally finished what he started.
"I'm always wanting to go out there and finish it," said Hamels, who lowered his ERA from 3.36 to 2.89. "It was nice to finally get that done."
Pedro Feliz and Shane Victorino also homered and drove in two runs each for the Phillies, who lead the major leagues with 59 home runs. The Florida Marlins have hit 58, but their game against Cincinnati was rained out Thursday.
Because of the postponement, the Phillies also moved within a game of the Marlins for the top spot in the NL East.
Hamels (5-3) gave up just four hits, struck out six and walked two in his first complete game of the season. Only two runners reached second base against Hamels, who has lasted at least seven innings in eight of his nine starts this season.
Hamels retired 15 batters in a row between the first and sixth innings. He wound up throwing his third career complete game and the first shutout by a Philadelphia pitcher since last July 22, when J.D. Durbin accomplished the feat against San Diego.
"I'm happy because all along I've said sooner or later he was going to throw a shutout and close out the game," Phillies manager Charlie Manuel said.
Hamels threw 120 pitches, 85 for strikes, and had excellent command of all his pitches.
"I think throwing a lot of first pitch strikes helped keep my pitch count down," he said.
Feliz supplied some quick offense with a solo homer in the first, and Howard followed with a 426-foot solo shot over the center field wall in the third. The home run pushed Howard's season-high hitting streak to seven games.
Feliz drove in Pat Burrell later in the third, and Victorino hit his first homer of the season in the fourth, a two-run shot to left-center for a 5-0 lead.
"It felt good," Victorino said. "We always win as a team, but it felt good for me."
All three homers came against Braves starter Chuck James (2-3), who allowed the five runs on six hits and five walks in four shaky innings.
"He's getting his changeup in the middle of the plate," Braves manager Bobby Cox said of James. "He's got to adjust -- and Philly's a tough place to adjust in."
Jimmy Rollins added two hits and scored a run for the Phillies, who had every starter except for Chase Utley reach base on a hit. Rollins also stole a base in the first, the 14th consecutive steal for Philadelphia dating to April 23, at Milwaukee.
The Braves played without Chipper Jones, who was a late scratch because of a sore groin suffered in his ninth inning at-bat Wednesday. Omar Infante took over at third base for Jones, who leads the major leagues with a .418 batting average.
The Braves could have used that kind of plate presence against Hamels, who is 3-0 in his last four starts.
"I only had two at-bats and I saw nothing but fastballs," Atlanta center fielder Mark Kotsay said. "He pitched very well. It's the first time I've seen him and he was very impressive."
Hamels tied his career high with two hits, raising his average to .320. ... Phillies catcher Chris Coste is 5-for-7 in his last two games. ... Braves pitcher John Smoltz turned 41 on Thursday. He is currently on the disabled list and expects to join the bullpen when he comes back. ... Atlanta fell to 20-20 -- 14-4 at home and 6-16 on the road.