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.
Moore to attend retreat in to avoid Kutcher's wedding
Lytro unveils camera that can focus a photo after shooting it