Preheat the oven to 300˚F.
Add bread cubes to a sheet pan in a single layer. Bake for 7 minutes, until toasted and lightly golden brown. Remove from oven and place cubes in a large bowl.
Raise oven temperature to 350˚F.
Melt 4 Tbsp butter in a large saute pan over medium-high heat. Once melted, add onions and cook down until they are caramelized and a deep golden brown, stirring occasionally, about 15 minutes.
Remove onions and add to the large bowl with bread. Melt remaining butter in the pan. Once melted, add celery, apples, parsley, salt, pepper, and sage. Cook until the celery has softened, about 7 to 10 minutes, stirring occasionally. Add to the bread.
In the same saute pan, cook sausage for about 10 minutes, until browned and cooked through. Make sure to break up the sausage with a fork while cooking. Drain the sausage and add meet to the bread and vegetables.
Add chicken stock and cranberries to the bread mixture. Use a spoon to mix well until combined and everything is evenly distributed.
Pour stuffing into a 2 1/2 to 3 quart baking dish.
Bake for 30 minutes, until browned on top and hot in the middle. Serve warm.