With Detroit goaltender Jimmy Howard having been called for a hooking penalty 24 seconds earlier, Weber beat Howard with a slap shot with 4:24 to go in the third.
That tied it at 3-3 and Weber scored again with 1:36 left to bring the Predators their fourth straight victory. It is their longest winning streak of the season.
Detroit had won three in a row.
Goals by Tomas Holmstrom, Henrik Zetterberg and Nicklas Lidstrom gave Detroit a 3-1 lead late in the second period. Jordin Tootoo brought Nashville within one with 2:38 to go in the second and he assisted on Weber's winning goal.
The win went to Pekka Rinne, who made 37 saves. Howard stopped 17 shots.
Interpol investigating stolen passports on missing flight
Senate Democrats to pull all-nighter on climate change