1 loaf unsliced white bread (about 1 1/2 pounds), crusts removed, cut into 1-inch cubes (about 12 cups)
3 tablespoons unsalted butter or margarine
1 medium yellow onion, diced
1 teaspoon coarse salt
3/4 teaspoon ground allspice
1/2 teaspoon freshly ground black pepper
1/4 teaspoon ground cinnamon
1/4 teaspoon ground ginger
1/8 teaspoon ground nutmeg
1/8 teaspoon ground cardamom
1/8 teaspoon ground cloves
1/2 cup golden raisins
1/2 cup dried cranberries
1/2 cup coarsely chopped roasted chestnuts (about 100 grams)
2 cups low-sodium vegetable or chicken broth
Arrange 2 racks to divide the oven into thirds and heat to 350°F. Divide the bread between 2 baking sheets and spread into an even layer. Bake until dry and light golden-brown, stirring halfway through, 10 to 15 minutes total; set aside to cool. Reduce the oven temperature to 325°F.
Once cooled, transfer the bread to a large bowl. Add the raisins, cranberries, and chestnuts and stir to combine; set aside.
Melt the butter or margarine over medium heat in a small saucepan. Add the onion and cook until soft and fragrant, 3 to 5 minutes. Add the salt, allspice, pepper, cinnamon, ginger, nutmeg, cardamom, and cloves. Cook, stirring constantly, until very fragrant, about 2 minutes.
Transfer the mixture to the bowl of bread, add the broth, and stir until well-combined. Transfer the stuffing to a 9x13-inch baking dish and cover tightly with aluminum foil. Bake for 15 minutes. Uncover and bake until the top is golden-brown and crispy, about 15 minutes more.