Cube your bread first, then spread the cubes out on your cutting board so they get a bit stale while you're preparing the rest of the ingredients.
Next, prepare the 'batter.' In a blender, combine the soaked cashew pieces, non-dairy milk, nutritional yeast, garlic powder, onion powder, lemon juice and salt. Blend until creamy. Add the flax seed and blend just a few seconds to mix in. Allow the batter to rest in the blender at room temperature while you saute the kale and mushrooms.
Preheat oven to 350 degrees.
In a small pan or Dutch oven, heat 2 tablespoons of water over medium heat. Add the shallots a pinch of salt, and saute 2-3 minutes. Add the rosemary and saute another 1-2 minutes, until the shallots are soft. Add water a tablespoon at a time if things begin to stick.
Add the mushrooms, stir, and cook until they begin to release their liquid and get soft, about 10 minutes.
Add the kale, stir, well, and cook uncovered 2-3 minutes. Cook covered another 3-5 minutes or more until the kale is tender and not bitter.
In a large mixing bowl, combine the bread cubes, kale/mushroom mixture, and batter from the blender. Add sea salt and freshly ground pepper to taste. Stir well, and allow to rest 15 minutes, or until the bread has soaked up some of the batter.
Spoon the mixture into a baking dish, and bake, uncovered, about 40 minutes or until heated through. Don't overcook or the pudding will dry out.
Notes
Soak cashews in hot water for 1 hour or overnight at room temperature for about 6-8 hours