Preheat the oven to 350 degrees Fahrenheit.
Add the bread cubes to a baking sheet in a single layer. Toast for 20 to 30 minutes until the bread is dried out and crisp.
Once done, transfer to a 9-inch by 13-inch baking dish. Increase the heat of the oven to 375 degrees.
Meanwhile, cut the vegetables and herbs. Dice the celery.
Dice the mushrooms.
Slice the onions.
Roughly chop the parsley.
Slice the sage leaves.
Dice the Gruyère cheese.
Butter the baking pan or casserole dish with about 1 tablespoon butter.
Add 1 tablespoon of butter to the large frying pan. Melt butter. Add the celery and cook for a few minutes over medium heat until softened. Remove the celery.
Add the sage to the same frying pan. Cook for a few minutes until slightly crisp.
Add the remaining butter to the frying pan and melt. Turn the heat to medium-low. Cook the mushrooms and a pinch of salt in the pan for about 20 minutes, until much of their moisture has cooked out and they are lightly browned.
Add the onions to the pan with the mushrooms, season with salt, and add the poultry seasoning. Caramelize for 45 minutes to an hour, stirring every once in a while (5 minutes or so), until the onions are deeply golden, soft, and caramelized.
Increase the heat to medium. Add the sherry wine to the pan with the onions and cook down for a few minutes.
Add the beef broth to the pan with the chopped parsley. Mix well and season to taste. It should be well-seasoned.
Pour the broth and onion mixture over the bread in the baking dish. Add the celery and sage. Gently toss with a wooden spoon until everything is well combined.
Bake for 10 minutes. Remove from the oven, add the pieces of Gruyère cheese to the top of the stuffing, then place back in the oven for about 5 minutes, until the cheese is melted.
Taste a bite for seasoning, adjust if needed, then serve!