The way the Phillies had been swinging the bats all week and the way Cole Hamels has pitched for much of the season should have been the ideal scenario tonight for a team trying to extend a five-game winning streak.

But the Phillies' hitting express suffered a momentary derailment and Hamels experienced his second straight poor outing in a 7-3 loss to Florida at Citizens Bank Park that moved the Marlins back into first place in the National League East.

After averaging 12 runs and 12 hits in their previous five games, the Phillies managed three runs and six hits tonight before a season-high crowd of 45,261. They went 51/3 innings without a hit, a span that ended when Chase Utley hit his major-league-high 19th home run in the eighth.

The Phils finished May with a record of 17-12.

Their winning streak had begun in Houston in Hamel's most recent start, when he worked a season-low four innings but saw his teammates get him off the hook with 15 runs. Still, with an ERA of 3.18 entering the game, lowest among Phillies starters, Hamels probably didn't need to have the team score 12 runs.

Well, he practically did.

Hamels had allowed just six home runs in his previous 11 starts covering 761/3 innings, but he yielded three tonight in his 52/3 innings of work, two of them coming in the sixth on a solo shot by Jorge Cantu and a two-run blast by Cody Ross.

Hamels breezed through the Marlins' lineup the first time, facing the minimum nine batters in the first three innings. But he appeared to struggle with his location in the fourth when Florida touched him for four runs.

Wes Helms, a 2007 Phillie who was booed tonight as if he were a professional wrestling villain, tied the score at 2 when his double to left-center scored Hanley Ramirez and Jeremy Hermida. Hamels thought he had Helms struck out on a 2-2 pitch, but home plate umpire Bruce Dreckman didn't think so, and Helms jumped on the 3-2 offfering.

After Dan Uggla popped out to short left, Luis Gonzalez also took a healthy cut at a 3-2 Hamels pitch and it sailed over the right-field wall, the 350th home run of Gonzalez's career, giving the Marlins a 4-2 lead.

When manager Charlie Manuel finally got out the hook with two down in the sixth, Hamels had allowed seven earned runs, matching his career high. That's 13 earned runs in his last two starts, covering 92/3 innings. His ERA for the season is up to 3.73.

The Phillies started off well against Marlins starter Ricky Nolasco, touching him for single runs in the first and third. Shane Victorino, extending his hitting streak to 12 games, sparked both innings with doubles and came around to score on Pat Burrell's opposite-field single in the first and Ryan Howard's grounder in the third.

But the Phillies' bats then went silent. Their only baserunners after Victorino's second double came when Nolasco walked Burrell in the sixth and hit Carlos Ruiz with a pitch in the seventh.

Ruiz advanced to second on a balk, but pinch-hitter Chris Coste and Jimmy Rollins both flied out. Ruiz then left the game with a bruise on his left hand. X-rays were negative.

Contact staff writer Joe Juliano at 215-854-4494 or jjuliano@phillynews.com.