PHOENIX -- With his team struggling to score runs behind him, Cliff Lee pitched in himself.
|More on Phillies-Diamondbacks|
|More MLB coverage|
"It feels good to bunt a guy over and watch him score," said Lee, who said he hadn't been asked to bunt in three straight plate appearances before. "It makes you feel like you contributed."
In fact, twice Lee's bunts set up runs.
Lee (4-2) gave up six hits, struck out three and walked two in winning consecutive road starts for the first time since August 2011.
Philadelphia had been shut out in two of Lee's past starts and the Phillies have scored 23 runs total in his seven starts -- eight coming in one game.
"I just need to keep grinding and give the team a chance to win every time," he said.
The Diamondbacks threatened against Lee only once, loading the bases with two outs in the seventh while trailing 2-0 before Wil Nieves grounded out.
"I really didn't pay attention to the bullpen, to be honest with you," Lee said. "I never want to come out, and with the bases loaded, for sure."
"I usually have success when I get runners on, though not so much this year," Rollins said. "Obviously, you adjust your swing because you've got to get a good swing first. Now that I'm starting to get there, the confidence comes that I can put on the same swing in any situation."
Jonathan Papelbon pitched the final 1 2-3 innings for his sixth save in as many chances.
The Diamondbacks put runners on second and third against Papelbon with one out in the ninth. He struck out pinch-hitter Eric Hinske and A.J. Pollock for his first five-out save since July 14, 2012, at Colorado. Pollock had doubled twice earlier.
"Yeah, I asked him to do it," Phillies manager Charlie Manuel said. "But I don't like doing that."
Arizona starter Trevor Cahill (2-4) could commiserate with Lee's lack of offensive support. The Diamondbacks have scored 22 runs in his seven starts, nine coming in a 9-2 win over the Los Angeles Dodgers on May 6.
"We had a chance to win tonight but things didn't go our way," Arizona manager Kirk Gibson said. "Any runs that they tacked on, you know it's going to make it tougher on yourself."
Cahill allowed only three hits and one run in five innings, struck out five but walked four.
"I felt like I was fighting myself the whole time," Cahill said.
The Phillies manufactured a run to take a 1-0 lead in the fifth. Ben Revere walked, was sacrificed to second by Lee, went to third on a wild pitch and scored on a sacrifice fly to deep center by Rollins.
Philadelphia made it 2-0 in the seventh when Revere singled off Josh Collmenter, stole second, moved up on Lee's third bunt and scored when Rollins singled.
"We just need to stay balanced," Manuel said. "We don't need to get down or anything. We need to stay even-keeled and come out every day like we're going to hit, keep your head up and keep going at it. If you don't hit, there ain't anything you can do about it but go out and try to be more prepared the next day."
- Diamondbacks RHP Matt Reynolds notched his 22nd scoreless appearance dating back to last season. He matched a franchise record with his 19th straight scoreless outing to start the season, first set by Joe Paterson in 2011.
- Phillies 1B Ryan Howard went 0 for 5 with four strikeouts. Since homering in his final at-bat Tuesday at San Francisco, Howard is 0 for 14 with nine strikeouts, dropping his batting average from .320 to .252.
- Pollock leads the NL with 14 doubles.
- Lee helped his cause in the third when he picked off Pollock at second base.
- Diamondbacks LHP Daniel Hudson, who is working his way back from Tommy John surgery last July, threw 46 pitches over three innings of a simulated game earlier Saturday.
- Arizona OF Adam Eaton has been transferred to Visalia of the Class A California League to continue his rehab from a left elbow strain.
- Phillies RHP Kyle Kendrick will start the series finale Sunday against Diamondbacks RHP Brandon McCarthy, who is looking for his first win since signing with Arizona in the offseason. Kendrick is unbeaten in his past six starts, posting a 4-0 record and allowing two or fewer runs in each game.