Duke was dominant into the ninth inning to win consecutive road starts for the first time in four years, Craig Monroe and Freddy Sanchez each had three hits and Pittsburgh beat the San Diego Padres 10-1 on Saturday night.
Duke (3-1) allowed one run and six hits in 8 1/3 innings. He also hit a sacrifice fly to help the Pirates (10-7) extend their lead to 5-0 in the fourth inning.
"The way we're playing we feel like we can win every game, regardless whether we're home or away," Duke said. "Once we get the lead early on it's just my duty at that point to get to keep the momentum going in our favor. And we did that today."
Duke won back-to-back road games for the first time since he went 4-0 in seven road starts during his rookie season in 2005. He beat the St. Louis Cardinals on April 8 in his first road start this season.
"I felt good, I felt pretty sharp from the first inning on," he said. "The fastball command was there. That's really the key, I felt good."
Monroe had three RBIs and Sanchez scored three times for the Pirates. Andy LaRoche extended his hitting streak to nine games with a double, single and two RBIs.
Hill (1-1) had to leave the game after two innings with soreness in his right biceps muscle. He gave up three runs and five hits.
"He didn't feel good warming up," manager Bud Black said. "It got progressively worse as the game went on. It looks as though he's headed to the disabled list."
Hill will have an MRI and a stress test on Monday.
Geer allowed five runs and seven hits in four innings.
"I was on call so I knew I had a chance to get in," Geer said. "I didn't know it would be that quick. They needed me to go out and soak up some innings."
The Padres were wearing their retro uniforms from the inaugural 1969 season when they went 52-110.
The Padres drew their second sellout (41,665) this season. ... Both teams' starting shortstops were scratched. Pittsburgh's Jack Wilson was sidelined with a sprained left middle finger. Luis Rodriguez was taken to a hospital after having an allergic reaction to something he ate. The Padres said he was resting comfortably. Ramon Vazquez took Wilson's spot and Chris Burke made his first start for San Diego. ... Pirates CF Nate McLouth was sidelined for the second straight game after tweaking his right oblique muscle on Friday during pregame batting practice. ... Padres RF Brian Giles was not in the starting lineup for the first time this season. Black opted to give him the night off.