Preheat oven to 350F. Cut bread, including crusts, into 1-in. cubes. You should have about 12 cups. Toast in the oven until lightly golden and dry, 10 to 15 min. Set aside to cool.
Meanwhile, melt butter in a medium pot over medium heat. When hot, add shallots. Stir frequently until softened slightly, about 2 min. Add sweet potatoes, broth and seasonings. Cover and bring to a boil, then simmer over medium-low until potatoes are almost tender, about 6 min. Set aside to cool.
Remove potatoes to a large bowl using a slotted spoon (if there are shallots too, that’s fine). Stir in bread cubes along with cranberries and walnuts. Whisk eggs into broth mixture, then stir into bread and potatoes. Turn into a 9×13-in. baking dish. Bake in centre of preheated oven, loosely covered with foil, for 20 min. Remove foil, stir, then bake until top is crusty, about 20 more min.
Nutrition (per serving)
Cover with foil and reheat alongside turkey until warm, about 30 min.