Preheat the oven to 350ºF. Grease a 9-inch cake pan or a 10-inch pie dish with butter or shortening and set aside.
Sauté the carrots:
Melt 3 tablespoons butter in a skillet over medium-low heat. Once melted, add the carrots and cook for 7 to 8 minutes until softened. Set aside.
Make the batter:
Combine the flour, brown sugar, baking soda, baking powder, cinnamon, ginger, cardamom, and allspice in a large bowl.
Add the egg, buttermilk, and 1 teaspoon vanilla extract to the dry ingredients. Beat with an electric mixer until smooth, but don’t overwork the mixture.
Finish the batter:
Fold the dates, hazelnuts, and cooked carrots into the batter.
Bake the carrot pudding:
Pour the batter into the prepared cake pan or pie dish. Transfer to the oven for 35 to 40 minutes or until a toothpick inserted in the center comes out clean.
Cool the carrot pudding:
Remove the carrot pudding from the oven and let it stand for 1 hour until cooled completely.
Make the cream cheese frosting:
Add the cream cheese, butter, orange juice, orange zest, and vanilla extract to a large bowl. Beat with an electric mixer until smooth and completely combined.
Add the powdered sugar and beat for 3 to 4 minutes until completely incorporated; add heavy cream as needed to reach a smooth, creamy consistency.
Frost the carrot pudding:
Transfer the cream cheese frosting to a piping bag with a star tip. Starting from the edge, pipe the frosting in concentric circles until you reach the center. Decorate the center and outer edges with smaller star shapes to use the remaining frosting. Finish the carrot pudding with more crushed hazelnuts on top.
To serve:
Slice the carrot and cardamom pudding and serve. Enjoy!