Andrew McCutchen went 4 for 4 with an RBI-double and Garrett Jones hit a two-run homer in the eighth to pad the lead. Jason Grilli pitched the ninth for his major league-leading 13th save.
Gomez (2-0) allowed just two hits, striking out five and walking two. He was forced into action after scheduled starter James McDonald was sent to the 15-day disabled list with tightness in his right (throwing) shoulder less than two hours before the first pitch.
Aaron Harang (1-4) posted his second strong outing, but received little help from Seattle's anemic offense. Raul Ibanez provided a pinch-hit RBI-double in the seventh to pull the Mariners within a run, but Seattle couldn't keep Pittsburgh from improving to 14-0 when leading after seven innings this season.
The Pirates traded for Gomez in January hoping the 25-year-old could find a role on a pitching staff that's had trouble staying healthy.
Gomez made the roster as a long reliever, but in some ways, he's become the de facto fifth man in the rotation. He was pressed into action three batters into the game against St. Louis last month when starter Jonathan Sanchez was ejected, then took over Sanchez's spot last week against Milwaukee after the Pirates and Sanchez parted ways.
Still, he wasn't planning on working early on Tuesday until the McDonald informed Pittsburgh manager Clint Hurdle that his right shoulder didn't feel right. McDonald has struggled with his command and his velocity all season and began the day with a 2-2 record and a 5.76 ERA while hardly looking like the pitcher who nearly made the All-Star team last summer.
Placing McDonald on the disabled list means Gomez will get another chance to start on Sunday in New York. Considering the way he handled the Mariners on short notice, perhaps the Pirates shouldn't inform Gomez until Sunday morning.
Gomez cruised after getting all of 90 minutes to cram for a rare visit by the Mariners, who were making their first visit to Pittsburgh in nine years.
Seattle came in 7-3 over its last 10 games while trying to erase a woeful start.
Instead, the Mariners offered little resistance during Gomez's five innings, their only real push coming with a brief two-out rally in the third when Michael Saunders singled and former Pirates All-Star Jason Bay walked. Kyle Seager lined out to left to end the threat and Gomez exited without letting anyone get to third base.
Gomez only needed 66 pitches to record 15 outs, after which Hurdle lifted him in favor of one of the National League's best bullpens.
The Pirates gave Gomez all the offense he would need early. Starling Marte led off with a bunt single off Harang then scored on Travis Snider's RBI-double. McCutchen followed with a double to left-center and the Pirates were up 2-0.
McCutchen's double extended his hot streak. The All-Star center fielder is now 13 of his last 27 (.481) in his last seven games to raise his average from .216 to .276.
Harang has endured a difficult start to his 12th season in the majors, but appears to be turning it around. The 34-year-old picked up his first win last week against Baltimore and gave up just two runs over six innings, striking out six to lower his ERA to 7.30 from 8.68.
Ibanez drew the Mariners within 2-1 in the seventh with a double off Pittsburgh reliever Jose Contreras, but Jones hit his fourth homer of the year in the eighth and Grilli stayed perfect on save chances this season.
NOTES: LHP Francisco Liriano appears ready to make his Pirates debut on Saturday in New York against the Mets. Liriano has been on the disabled list all season while recovering from a broken right arm. He signed a two-year contract with the Pirates in the offseason ... The brief two-game set wraps up on Wednesday when Seattle's Felix Hernandez (4-2, 1.60) faces Pittsburgh's A.J. Burnett (3-2, 2.57). The teams meet again in Seattle in June ... Pittsburgh C Russell Martin was scratched before the game with a neck issue and is day to day. Replacement Mike McKenry went 0 for 4.