IF YOU WANT TO, you can take the Phillies' latest loss and fold it up and fit it into the same box you have used for the 14 others that have marred their previous 21 games. They didn't score, and they barely hit, and they finished another long night facing the same unanswered questions.

Except this time around, the opposing starter wasn't Kevin Correia or R.A. Dickey or Hisanori Takahashi.

Related stories

It was a tall, imposing righthander who was throwing a mid-to-high 90s fastball the way a normal man might throw a crumpled up soda can into the trash.

Offenses a lot hotter than the Phillies' have run into the brick wall named Josh Johnson this season, which is why after a 2-0 loss to the Marlins and their young ace last night, there wasn't much of the self-flagellation that has become ritualistic in these parts.

"Tonight, we ran into a pitcher who was on his game," said Ryan Howard, who struck out against Marlins closer Leo Nunez with Placido Polanco on third to end the game. "That's baseball."

If there was any cause for concern last night, it lay in the fact that the Phillies missed out on an opportunity to pick up another victory before heading into a nine-game interleague gantlet that features series against the Red Sox, Yankees and Twins.

Despite the herculean effort from Johnson, who pitched eight scoreless innings and retired the last 17 hitters he faced, the Phillies were one swing away from tying things up until the top of the ninth. That's when righthander Danys Baez allowed a solo home run to Dan Uggla that gave the Marlins their crucial second run and altered the complexion of the bottom half of the frame, when Nunez allowed a one-out double to Polanco before retiring Chase Utley and Howard to end the game.

Roy Halladay, who retired all 27 Marlins he faced 2 weeks ago in Miami, wasn't perfect this time around, but he was plenty good enough to produce a victory. The veteran righthander allowed the first three hitters he faced to reach base, giving up singles to Chris Coghlan and Gaby Sanchez before walking Hanley Ramirez to load the bases with no outs. Only one of those runners scored - Coghlan, on a sacrifice fly by Jorge Cantu that preceded a strikeout by Uggla and a groundout by Cody Ross - but it turned out to be enough.

"You had two great pitchers on the mound tonight, so you knew hits were going to be hard to come by," Howard said. "The team that kind of got out quick and got on top was going to be the team that was going to win the game. They got out early, and Josh Johnson did a great job."

Johnson mowed through the Phillies' lineup with the same ease he had displayed in his previous five starts, a stretch in which he had allowed just three runs in 34 innings.

Like the Marlins, the Phillies' best chance to score turned out to be the first inning, when Utley drew a two-out walk and then moved to third on a double by Howard. But Jayson Werth, who entered the night in a 3-for-38 slump, struck out to end the threat.

Raul Ibanez led off the second with a sharp single to rightfield but was quickly eliminated on a doubleplay groundout by Wilson Valdez. Shane Victorino hit a one-out double in the third, giving him the distinction of being the last runner to reach base against Johnson.

"I felt like tonight, it was good pitching," manager Charlie Manuel said. "Johnson's tough. He had good stuff."

Halladay retired 15 of the final 16 batters he faced as the game turned into a spring duel between two of the top pitchers in the National League.

Halladay fell to 8-4 despite striking out eight and allowing just one run on six hits and one walk in eight innings.

The Phillies now move on to Boston, where they are scheduled to face two of the pitchers who helped plunge them into their current offensive doldrums during a late-May series at Citizens Bank Park. Daisuke Matsuzaka and Tim Wakefield, scheduled to start tomorrow and Sunday, combined to hold the Phils scoreless for 17 innings in losses on May 22-23. The ensuing stretch has featured five shutouts, and seven other games in which the Phillies have scored three or fewer runs. Last night's loss, which dropped them to 31-27 and three games behind the Braves in the National League East, marked their seventh shutout of the season. The Phillies were shut out seven times all last season and are now on pace for 20 shutouts. Since 1960, the franchise record for shutouts in a season is 22, set in 1969.

But the Phillies remain hopeful that they are in the midst of a resurgence. Before running into Johnson, they had scored 22 runs in four games, including a 10-8 win over the Marlins on Tuesday night.

"I think it says more about him than it says about our offense," Halladay said. "We swung the bats well the day before yesterday. We ran into a hot pitcher who is pitching well right now."