Picked up late in the season from Florida, Ross added to his quickly growing postseason legacy. He homered three times in the first two games at Philadelphia and hit an RBI single in Game 3 to break a scoreless tie.
"He plays with no fear," Giants manager Bruce Bochy. "That's what you like about the guy."
Bochy even tinkered with his lineup, moving Ross up into the No. 5 spot. The good-natured guy who aspired to be a rodeo clown as a kid came to the plate to chants of "Cody! Cody!"
"I'm just going up there trying to relax, stay calm, make something happen," Ross said.
San Francisco grabbed the edge in their best-of-seven series against the two-time defending NL champions - with two more games in their home ballpark.
The Giants have never won the World Series since moving to San Francisco for the 1958 season. They came close in 2002, led by Bonds' slugging.
The last time the Giants franchise won the World Series was 1954, when it played in New York. On a team that included future Hall of Famer Willie Mays and other big-name players, it was a part-time outfielder who hit .253 in his career - Dusty Rhodes - who emerged as the Series star with two homers in six at-bats.
So far this postseason, that role of unlikely hero belongs entirely to Ross, an outfielder with a career .265 mark.
Ross hit an RBI single in the fourth inning to break a scoreless tie and fellow playoff first-timer Aubrey Huff followed with a run-scoring single.
This marked the third impressive pitcher's duel in as many games of this NLCS. First, it was Roy Halladay vs. Tim Lincecum, then Roy Oswalt and Jonathan Sanchez.
Joe Blanton will start for the Phillies in Game 4 on Wednesday night. He last pitched one inning of relief on the final day of the season, an 8-7 loss at Atlanta, and has not started since Sept. 29.
Rookie Madison Bumgarner starts for the Giants. He pitched the division series clincher at Atlanta.
On a beautiful and festive fall day in the Bay Area, the Giants delivered back home in front of 43,320 towel-waving fans at AT&T Park. Bochy's moves certainly worked.
Along with Ross moving up, Aaron Rowand earned a start in center field, then doubled and scored on Freddy Sanchez's fifth-inning single.
Cain allowed two hits over seven innings, struck out five and walked three in a strong 119-pitch effort.
Javier Lopez pitched the eighth and Brian Wilson finished it for his fourth postseason save and second in as many tries this series.
Cain and 2008 World Series MVP Hamels each began with three scoreless innings. The left-handed Hamels didn't allow a hit until Edgar Renteria's single to start the fourth, while Carlos Ruiz's one-out single in the third was the first off Cain.
After Renteria's hit, Sanchez sacrificed him to second. Buster Posey struck out swinging and former Phillies outfielder Pat Burrell walked. Ross followed with his single.
San Francisco managed only four hits in losing 6-1 on Sunday night at Citizens Bank Park. The Giants knew they needed to do more Tuesday to swing the momentum back in their favor.
Bochy started Rowand in center field against his former club in place of the struggling Andres Torres. Bochy said Torres would be back in the lineup Wednesday against a right-hander.
Freddy Sanchez in the No. 2 hole was the only Giant to stay in the same spot in the order. Shortstop Renteria moved into Torres' regular leadoff hole, while Huff was moved down to sixth from third.
Juan Uribe played after he was scratched late before Game 2 with a bruised left wrist. An MRI exam Monday showed no structural damage.
Rowand doubled in the fifth and scored on Sanchez's single two outs later. The first person to greet Rowand in the dugout was Torres.
Cain showed no signs of a long layoff in earning his first career postseason victory. Pitching on 10 days' rest since a no-decision in Game 2 of the division series against Atlanta on Oct. 8, Cain beat the Phillies for the first time. He had been 0-3 lifetime with a 6.23 ERA in his first five career starts against Philadelphia.
Bochy visited Cain after the right-hander hit Ruiz and then walked pinch-hitter Ross Gload with two outs in the seventh, but stuck with him. Cain retired Shane Victorino on a groundout.
Cain shut down the heart of the Phillies' loaded lineup, too.
Chase Utley, batting second for the second straight game, came in 7 for 15 with three home runs against Cain. He went 0 for 4. As did Placido Polanco and Raul Ibanez, who grounded into a game-ending double play.
Ibanez is in an 0-for-15 funk dating to the division series with Cincinnati.
Hamels, coming off a five-hit shutout against Cincinnati on Oct. 10 in his last outing, was tagged for three runs and five hits in six innings. He struck out eight and walked one.