Scrub sweet potatoes and prick holes all over with a fork. Wrap in paper towel and cook in microwave on high for 5 to 10 minutes or until soft. Cool slightly. Scoop out flesh and mash or puree. You should have 1 ½ cups mashed sweet potato. Let cool almost completely. You can do this ahead.
In a large bowl, whisk eggs until blended. Add mashed sweet potatoes, milk, sugar, vanilla, cinnamon, cardamom, nutmeg and salt; whisk until well-blended.
Preheat oven to 350°F. Spray a 9 × 13-inch baking dish with nonstick cooking spray.
Put cubed bread in prepared pan and pour sweet potato mixture over bread. Press down slightly so that the bread is immersed in the sweet potato mixture.
Allow bread mixture to stand for 10 minutes to soak up the sweet potato mixture. You can also cover the dish and refrigerate for up to 24 hours.
Bake for 40 to 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 in an even layer. 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 cutting into squares and serving.
Notes
If cinnamon swirl bread isn’t available, substitute white bread and increase cinnamon to 1½ teaspoons.