PITTSBURGH - They managed to salvage one.

After opening up this cross-state series with a couple of losses at PNC Park, the Phillies beat the Pirates 7-3 to snap a four-game losing streak and improve to 35-25, three games up in the NL East.

After allowing a two-run home run to Neil Walker in the first inning and then exploding at home plate umpire Angel Hernandez, Roy Halladay blanked the Pirates the rest of the way, retiring 12 of the next 13 batters he faced. He finished seven innings, allowing two runs on 114 pitches.

With his eighth win, Halladay is now tied for the leads in the majors.

Chase Utley reached base five times, going 4-for-5 with a walk.

But his biggest play of the day came in the field, when he made a spectacular diving catch of a sharp liner by Jose Tabata with runners on the corners and the Phillies leading 4-2 in the bottom of the seventh inning.

Jose Contreras allowed his first earned run of the season in the eighth inning, but Antonio Bastardo recorded the final two outs with the tying run on base to preserve a 5-3 lead.

The Phillies completed the nine-game road trip at 4-5 and return home Monday night to face the Los Angeles Dodgers and begin a 10-game homestand.