Heat oven to 350°F. Lightly grease a 9x13-inch baking dish.
Toast the bread. Spread cubes on two sheets and bake 10–12 minutes to dry, not brown. Cool slightly.
Warm the broth in a small saucepan over low heat; keep it just steaming.
Melt butter with olive oil in a large skillet over medium heat.
Sauté onion and celery until very tender, 8–10 minutes. Stir in garlic for 30 seconds.
Season the veggies with sage, thyme, rosemary, poultry seasoning, salt, and pepper. Cook 1 minute more.
Combine toasted bread and parsley in a large bowl. Scrape in the sautéed mixture and toss well.
Moisten gradually with warm broth, tossing as you pour, until evenly hydrated but not soggy. Rest 5 minutes.
Transfer to the baking dish. Cover tightly with foil and bake 25 minutes.
Uncover and bake until the top is golden and edges crisp, 15–20 minutes. Rest 10 minutes before serving.