© 2012 MLB Advanced Media, L.P. All rights reserved.

04/03/12 1:15 AM ET

Cabrera homers as Giants top A's

SAN FRANCISCO -- Graham Godfrey gave Athletics manager Bob Melvin something to ponder when it comes time to determine the fifth spot in the A's rotation.

Madison Baumgarner would have been in the Giants' rotation no matter what he did Monday night in San Francisco's 4-2 victory over Oakland.

Godfrey threw a four-hitter over five innings, did not walk a batter and struck out three in his most impressive outing of the spring.

"I'm pretty satisfied with it," Godfrey said. "My Spring Training outings have been a little bit inconsistent, to say the least, so tonight was definitely a confidence booster. Also, knowing what's at stake, it was a good outing for me."

Brandon Belt, who has reached base in each of his last eight games, had two hits for the Giants. Melky Cabrera added a line-drive home run that rocketed over the left-field fence, and the Giants scored three runs in the seventh to take the lead.

Eric Sogard hit a two-run home run against Bumgarner, the only blemish of yet another solid outing from the left-hander. Bumgarner gave up four hits, walked three and struck out seven.

"I just tried to get all my walks out tonight so I won't have any for the next month," Bumgarner deadpanned. "I definitely got a lot out of the way."

Sogard was in the game only because starting shortstop Cliff Pennington departed after one inning with tightness in his left groin.

Sogard was with the team because the A's decided to send Adam Rosales to Triple-A Sacramento earlier in the day.

Up next: These same two teams will meet again Tuesday night in Oakland with Tyson Ross going for the A's and Matt Cain, who signed a five-year extension Monday, going for the Giants. Ross had a forgettable effort in his last outing. He was tagged for eight runs on 10 hits in four innings by the Hanshin Tigers in Japan last Monday. Ross, who figures to be the A's fourth starter, has had an impressive spring otherwise with an ERA of 0.90 in games played in Arizona. Cain threw a solid game against the Texas Rangers in his last start, allowing two runs on three hits over seven innings. With his contract settled, Cain heads into the season with a clear head and a strong right arm.

Rick Eymer is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.