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.