Preheat your oven to 375 degrees Fahrenheit. Spray or butter a 9x13 baking dish and set aside.
Add the sweet potatoes, sugar, maple syrup, eggs, cinnamon, vanilla, nutmeg, cardamom, and salt to a large mixing bowl. Using a potato masher or large fork, mash the sweet potatoes together with the other ingredients until completely combined. Add the buttermilk and use a wire whisk to mix all of the ingredients until well combined.
Transfer the sweet potato mixture to your prepared baking dish and set it aside while you make the streusel topping.
Add the brown sugar, melted butter, flour, chopped walnuts, salt, and ground cinnamon to a small mixing bowl. Using a fork, mix the ingredients together until all of the flour is moistened and a crumbly texture is formed.
Spoon the streusel topping over the sweet potato mixture in an even layer. Bake the casserole in the preheated oven for 30-40 minutes until the casserole is golden and bubbly. Allow the casserole to cool for about 10 minutes then serve warm.