Tanaka came within two outs of his second complete-game shutout before giving up a two-run homer to former Yankee Robinson Cano in the ninth inning.
"Obviously, I wasn't happy about that home run," the 25-year-old rookie said through an interpreter. "But in the end I'm pretty satisfied that I was able to go a full nine innings tonight."
Tanaka (10-1) seemed to be the only one in the Yankees' clubhouse to find much fault in his performance.
"It was an incredible performance tonight," said first baseman Mark Teixeira, who hit a three-run home run in the fifth inning to give Tanaka a 4-0 lead, "and we needed it."
Tanaka became the second major league pitcher to reach 10 victories this season, joining Toronto's Mark Buehrle.
"He's been huge for us," Yankees manager Joe Girardi said. "You look at our record (33-31), he's 10-1, so he's got a third of our wins. It's been impressive what he's done."
Tanaka had a shutout going with one out in the ninth inning before Cano took him deep for a two-run homer. The rookie right-hander from Japan recovered to throw his second complete game of the season, needing only 110 pitches to get there.
"We've watched video and he was the same guy you see on TV," Cano said. "He puts the ball where he wants it, and he's filthy."
Tanaka, who leads the American League with a 2.02 ERA, allowed six hits and one walk while striking out 11. He earned his fourth consecutive win.
The Yankees gave Tanaka all the offense he needed on Teixeira's three-run homer in the fifth inning, which put New York ahead 4-0. Shortstop Derek Jeter, left fielder Brett Gardner and center fielder Jacoby Ellsbury each had two hits for New York.
The Yankees are one win away from their first three-game sweep of the season, while Seattle (34-31) is in jeopardy of being swept for the first time since mid-April.
The Mariners first challenged Tanaka's shutout bid in the eighth inning, when catcher Mike Zunino hit a one-out double and moved to third when shortstop Brad Miller singled in the next at-bat. However, Miller was thrown out leaning off first base on Cole Gillespie's liner to second base, ending the inning.
Seattle center fielder James Jones collected his second hit of the night -- an infield single -- with one out in the ninth. Cano then hit his third home run of the season to thwart the shutout bid while cutting New York's lead in half.
It was Cano's first home run at Safeco Field this season.
"That is something that's off my shoulders now," the former Yankee said. "You want to get the first one, and hopefully I continue to get some more."
Ellsbury extended his hitting streak to 15 games with an RBI single in the third inning. His one-out blooper to center field drove in Brian Roberts from second base to give the Yankees a 1-0 lead.
Tanaka continued his mastery of opposing hitters while retiring the first 10 batters he faced. Tanaka pitched three perfect innings and struck out right fielder Endy Chavez to open the fourth before Jones singled.
"You look forward to him on the mound," said teammate Derek Jeter, who went 2-for-5. "He works quickly, he throws strikes, and he's pretty much dominant."
Seattle starter Chris Young, who had been unbeaten at home this season, endured his worst start at Safeco Field. Young (5-4) gave up four runs on seven hits over five innings before giving way to the bullpen to open the sixth.
NOTES: The Yankees added two relievers to their bullpen, activating RHP Shawn Kelley from the disabled list and acquiring LHP David Huff from the San Francisco Giants for cash considerations. To make room for the duo, RHP Matt Daley was optioned to Triple-A Scranton/Wilkes-Barre and LHP Wade LeBlanc was designated for assignment. Kelley (back) had been out since May 7. Huff was with the Yankees last season. ... New York DH Carlos Beltran went through his first throwing session before Wednesday's game. He missed nearly four weeks due to bone spurs in his right elbow before being activated last week. ... 1B Logan Morrison was in the Mariners' lineup after being activated from the disabled list earlier in the day. Morrison had been out since April 14 with a strained right hamstring. ... Seattle placed 1B Justin Smoak (quad) on the DL. ... Mariners OF Michael Saunders, who aggravated a shoulder injury Tuesday, was not in the lineup Wednesday.