Napoli's solo shot in the second inning cut the Rangers' early deficit to 4-3 and his three-run blast in the third put Texas ahead to stay.
The Texas catcher added a two-run double to finish with six RBI for the American League West-leading Rangers, who assured themselves of at least a wild-card berth.
Derek Holland (12-6) took the victory despite coughing up seven runs on 12 hits through 6 2/3 innings.
Ervin Santana (9-13) was roughed up for six runs on seven hits over just 2 2/3 innings for Los Angeles, which saw its playoff hopes dim with the defeat.
The Angels need to win their final three games and have Oakland lose its last three to tie the A's for a post-season berth.