In a large skillet, melt the butter over medium heat. Add the onion, celery, sage, and poultry seasoning (and fresh rosemary if using). Reduce the temperature to medium low and cook until tender, about 10-12 minutes. Cool slightly.
In a large bowl, combine the bread cubes, onion mixture, and any fresh herbs.
Pour 1 cup of broth overtop and toss the cubes. Add the remaining broth, a little bit at a time until cubes are moist (but not soggy) and gently toss. You may not need all of the broth. Season with salt and pepper to taste.
Place the bread mixture in a baking dish, dot with additional butter if desired, and cover.
Bake 35 minutes, uncover and bake an additional 10 minutes.