BALTIMORE -- After helping the Philadelphia Phillies end their seven-game losing streak, Ryan Madson decided to let his outstanding pitching performance speak for itself.
Madson came within an out of his first complete game in the majors, and David Dellucci homered to carry the Phillies past the Baltimore Orioles 4-0 Thursday night.
Chase Utley had two hits and scored a run for the Phillies, who avoided a three-game sweep and won for only the fourth time in their last 19 games.
Madson (8-5) took a four-hitter into the ninth and got the first two outs before walking Brandon Fahey and giving up a single to Melvin Mora. He was then taken out by manager Charlie Manuel.
Tom Gordon promptly retired Miguel Tejada on a grounder for his 21st save.
Madson struck out seven and walked one in his 14th big league start. Afterward, the right-hander told the a team public relations official that he wouldn't talk to reporters until he backed up this fine effort with another one.
But the Phillies and the Orioles had plenty to say about Madson, who was coming off an awful start against Boston in which he gave up six runs in 1 2/3 innings.
"It was a big pickup for us because we've been scuffling a little bit," Philadelphia catcher Sal Fasano said. "For Ryan to come out and do what he did is a big lift for us. You could tell, there was a lot more life on the field, getting quick outs, and that hasn't happened for a while."
Manuel said he wanted Madson to finish the game, but "figured that Gordon was fresh, and in a situation like that I have to go get him."
Even Gordon was hoping for Madson to go the distance.
"He deserved to finish that game, and in my mind he finished that game," the closer said. "It gave us everything we needed -- and more -- and got us a win."
Despite giving Madson the hook, Manuel was delighted with his effort, especially after watching his team struggle for so long.
"That was exactly what we needed. That was the performance we've been looking for," he said.
Facing a Baltimore team that totaled 31 hits in a doubleheader sweep Wednesday, Madson was overpowering. He allowed only two runners past first base and permitted three hits after the second inning.
"After the first couple innings I thought he really settled in," Orioles manager Sam Perlozzo said. "He upped his velocity and got his off-speed stuff over. He really made it tough for us."
Madson outpitched Rodrigo Lopez (5-9), who gave up four runs and nine hits in 7 2/3 innings. Lopez was 4-1 over his last six starts and was effective in this one, but Madson was better.
"It was hard to hit him," Lopez said. "It's hard to pitch with no run support. I tried to go as deep as I could."
Two batters into the game, Philadelphia took a 2-0 lead. Jimmy Rollins drew a leadoff walk and Dellucci hit the next pitch over the 25-foot scoreboard in right, the team-high 20th homer allowed by Lopez this season.
"I couldn't throw strikes on the first batter and then I tried to get ahead in the count, and this guy took advantage of the first pitch," Lopez said.
It was Dellucci's fifth homer, the second in two games.
In the Baltimore second, Jeff Conine had a one-out single and was forced by Corey Patterson, who stole second with two outs. Javy Lopez then fouled out.
Philadelphia made it 3-0 in the seventh on a single by Ryan Howard, a double by Aaron Rowand and a run-scoring groundout by Abraham Nunez.
The Phillies used successive two-out doubles by Utley and Bobby Abreu to take a 4-0 lead and chase Lopez in the eighth.
Soon after that, Philadelphia celebrated its first win since June 19.
"The key for us is to take the momentum that we've gained from this game and bring it to Toronto tomorrow and try to play tomorrow just like we did today," Dellucci said. "We're going to feed off what (Madson) did today."
Patterson stole his AL-high 30th stolen base, but was also caught stealing for the fifth time, victimized by a pitchout. ... The Phillies snapped a six-game road losing streak. ... Lopez has yielded at least four runs in 14 of his 17 starts. ... Before the game, Philadelphia acquired LHP Fabio Castro from Texas for minor league LHP Daniel Haigwood and cash.