Buster Posey led off with a single and pinch runner Gregor Blanco went to second on Juan Perez's sacrifice bunt. Pablo Sandoval struck out and Brandon Crawford, who drove in the Giants first run, was walked intentionally.
Hicks took a ball and then hit a towering fly into the left field bleachers, giving the sellout crowd of 41,530 something to celebrate.
Sergio Romo (2-0) pitched a scoreless inning to get the victory. Cory Allen (2-1), who allowed his first run in 12 games, took the loss.
Giants' starter Ryan Vogelsong threw seven shutout innings, his longest start of the season. He gave up two hits, both to Michael Bourn, walked two and struck out six.
Indians' starter Danny Salazar gave up one run on five hits in a season-best seven innings. He walked one and struck out eight.
Vogelsong retired the final 12 batters he faced while Salazar set down nine of the last 10 he faced.
The Giants took a 1-0 lead in the fourth. With two outs, Pablo Sandoval and Brandon Crawford hit back-to-back doubles.
The Indians did not get a runner past second until Gomes hit his third home run of the year, a solo shot into the left field bleachers on a 1-2 pitch from Santiago Casilla.
The Giants sold out a NL record 258th straight game, surpassing the Philadelphia Phillies, who sold out 257 straight between 2009-12.
NOTES: RHP Justin Masterson (0-0, 4.50) will start Cleveland's series opener in Anaheim on Monday against the Los Angeles Angels. He's 4-0 in 12 games, 9 starts, against the Angels. . LHP Madison Bumgarner (2-2, 3.14) starts for the Giants in their series opener against the San Diego Padres on Monday night. He's 6-3 with a 3.36 ERA in 16 starts against the Padres. . Sandoval ended an 0 for 42 streak when hitting with two strikes when he singled in the seventh. . Gomes' homer ended a 19-inning scoreless streak by the Giants bullpen at home. . Salazar is 0-5 in nine career starts on the road. . The Indians 4-5-6 hitters went 0 for 29 in the series.