That two-out double in the second by Mark Reynolds was all the Diamondbacks could manage against Cain, who pitched his second one-hitter in the San Francisco Giants' 5-0 victory over Arizona on Friday night.
"It felt good from the beginning. I just tried to keep doing that and tried not to think a lot," Cain said. "I was definitely able to locate both sides of the plate."
Cain has pitched back-to-back complete games, but he tossed eight outstanding innings and still lost 1-0 at Oakland last Saturday on an unearned run.
"You try to take what happened in the last start and get better from it," he said.
Manager Bruce Bochy never even had to warm up a reliever.
Pablo Sandoval hit a solo home run leading off the eighth, ending a 124 at-bat homerless drought dating to his last drive April 21 at San Diego. Sandoval also had a sacrifice fly and an RBI single, giving him a season-best three RBIs.
Sandoval told Cain before the game it was time the free-swinging slugger start contributing home runs in Cain's start like he did in a breakout 2009 season.
Yes, he all but called his shot.
"I'm happy," Sandoval said. "He throws the ball well and it's one of those games you want to help a little more."
Cain (3-4) struck out a season-high nine to end a three-start losing streak. He didn't walk a batter for the first time since his first start of the year.
The pitcher received a rousing standing ovation when he came up to bat in the eighth
- meaning he was staying in to try to finish the job. He did just that, ending the 122-pitch performance in 2 hours, 18 minutes.
"It doesn't get much more dominant than that," said D-backs manager A.J. Hinch, whose team has lost five straight.
Cain also pitched a one-hitter on May 21, 2006, at Oakland. This was his 10th career complete game and third shutout, first since July 24, 2008, against Washington. He has a 1.81 ERA in May.
Reynolds was the only Arizona baserunner to get to second against Cain - the hit carried more than right fielder Nate Schierholtz said he expected and came off the wall. Reynolds was hit by a pitch in the fifth, the lone other time the D-backs reached base.
"It's one of the better nights he's probably ever had," Arizona's Conor Jackson said. "I didn't see anything to hit. He was painting on the corners and getting ahead of guys. When you do that, you go through the lineup four times, you're going to be successful."
Freddy Sanchez delivered another RBI with a first-inning single to put San Francisco ahead. The Giants backed Cain with enough offense for a change.