With the Pirates clinging to a 2-1 lead in the eighth inning, McCutchen singled with two outs against Carter Capps and Garrett Jones followed by pounding a 2-2 pitch into the upper deck in right field, doubling the Bucs' advantage.
Gomez (2-0) yielded just two hits and a pair of walk while striking out five en route to the victory.
Justin Wilson, Tony Watson, Jose Contreras and Mark Melancon combined for three innings of one-run relief and Jason Grilli tossed a 1-2-3 ninth for his league-leading 13th save as the Pirates took the first of a two-game set.
Mariners starter Aaron Harang (1-4) absorbed the loss, allowing two runs on five hits over six full frames.
Raul Ibanez drove in Seattle's only run.