Torres reached base four times in the second game of a four-game series.
Jhony Brito (5-6) gave up two hits and struck out three in 3 1/3 innings of relief while picking up the victory.
Yankees starter Michael King tossed four scoreless innings, his longest outing this season. He gave up three hits and struck out five.
Detroit starter Tarik Skubal (3-3) allowed three runs (two earned) and four hits in six innings. He struck out nine and walked two.
Rookie Parker Meadows, who had three hits, ended the Yankees' shutout bid with a two-run single in the ninth.
Torres clobbered his 22nd homer with two out in the first inning. The blast to left center traveled an estimated 454 feet.
Detroit had a threat in the bottom of the third. Meadows led off with a single and Carson Kelly had a one-out hit. An error by center fielder Harrison Bader allowed both runners to move into scoring position. Akil Baddoo then popped out and Riley Greene grounded out.
Higashioka lofted his 10th homer to left center with two out in the fifth inning.
New York scored an unearned run in the sixth to make it 3-0. It loaded the bases with one out as Aaron Judge reached on an infield single and Torres was hit by a pitch. Giancarlo Stanton then singled but Skubal responded by striking out Volpe. With Bader at the plate, catcher Kelly mishandled a curveball, allowing Judge to score on the passed ball.
Zach McKinstry walked with one out in the seventh and Meadows singled. Brito then induced Javier Baez to tap into a double play.
Volpe led off the ninth against Garrett Hill with his 19th homer, a shot to left.
The Tigers staged a rally in the bottom of the inning. Spencer Torkelson walked, McKinstry had a two-out double and Meadows scored both runners with a line single up the middle. Clay Holmes then struck out Baez to end the threat.
—Field Level Media