Preheat the oven to 350°F.
In a large skillet, melt the butter over medium heat. Add the onion, celery, and poultry seasoning (and 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, parsley, and 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 for 35 minutes, then uncover and bake for an additional 10 minutes.