The visitors seized an early 4-0 lead and hung on to register a victory that gave the Red Sox a 3-2 lead in the best-of-seven American League Championship Series with the series shifting to Boston for Game Six on Saturday.
Boston starter Jon Lester was credited with the win, while closer Koji Uehara, the fourth Red Sox pitcher, registered the last five outs for the save.
In Game One, Tigers starter Anibal Sanchez no-hit the Red Sox for six innings in a 1-0 victory, but Boston wasted no time in piercing his aura of invincibility on Thursday.
Dustin Pedroia singled to left in the opening inning for their first hit in the series off Sanchez, and Napoli made clear it was a new day when he blasted a 445-foot home run over the centerfield fence in the second frame.
The Red Sox added two more runs in the second when doubles by rookie Xander Bogaerts and catcher David Ross, and a run-scoring single by Jacoby Ellsbury followed an error at third by Miguel Cabrera as Boston took a 3-0 lead.
A wild pitch by Sanchez allowed Napoli, who had doubled, to score the fourth run of the game in the third. The Red Sox first baseman, who homered in Boston's 1-0 Game Three win, went 3-for-4 to pace the attack.
Detroit scored single runs in the fifth, sixth and seventh innings but were unable to add the tying score in the final two innings.