Scrub sweet potatoes clean and prick holes all over with a fork. Wrap in paper towel and cook in microwave on high for 5-10 minutes or until soft. Cool slightly. Scoop out flesh and mash or puree. Let cool almost completely.
Whisk together milk, eggs, sweet potato, sugar, vanilla, cinnamon, cardamom, nutmeg and salt in a large bowl.
Spray a 9×13-inch pan with nonstick cooking spray. Preheat oven to 350°F.
Put cubed bread in prepared pan and pour sweet potato mixture over bread. Press down slightly so that all the bread is touching sweet potato mixture.
Allow bread mixture to stand for 10 minutes to soak up the sweet potato mixture.
Bake for 40-50 minutes, or until the bread pudding is set (stick a knife in the center and look for liquid — if there is still liquid, continue baking. Internal temperature should reach 165°F).
Take the dish out of the oven and sprinkle mini marshmallows over the top — an even layer if possible. Place pan under the broiler for about 1 minute (WATCH CAREFULLY!), until the marshmallows puff up and brown.
Allow to cool about 15 minutes before serving. If there is any leftover, store in fridge.
I use cinnamon swirl bread — if that isn’t available, use white bread and increase cinnamon to 1 1/2 teaspoons.
If your kids aren’t allergic to nuts like mine, it would be delicious to fold in 1/2 cup toasted chopped pecans.
Make ahead tip: Prepare bread pudding but don't bake. Refrigerate, covered, up to 24 hours. Bake as directed.