Brian Johnson kicked the game-winning 33-yard field goal with less than two minutes to go as New Orleans beat Seattle.