Preheat & Prep. To start, preheat oven to 350 degrees. Line a 9x9 square pan with parchment paper. (I like a ceramic pan or glass pan for this cake, since it bakes more gently.)
Combine Dry Ingredients. In a medium bowl, combine almond flour, arrowroot powder, baking soda, cinnamon, nutmeg, cardamom, and salt. Whisk to combine until evenly blended, then set aside.
Combine Wet Ingredients. In a large bowl, combine pumpkin puree, maple syrup, oil, eggs, and vanilla. Whisk until evenly combined.
Finish the Batter. Add the dry ingredients to the wet ingredients mixture and stir until the flour mixture is just blended in.
Bake. Pour cake batter into your prepared pan and smooth the top with an offset spatula. Bake 25-30 minutes, or until a toothpick inserted in the center of the cake comes out clean with just a few moist crumbs.
Cool Cake COMPLETELY. Allow the cake to cool completely to room temperature before you add the frosting. (Otherwise the frosting will melt on the cake!)
Make Frosting. In a large mixing bowl, combine powdered sugar, softened butter, maple syrup, 1 Tablespoon milk, the cinnamon, and vanilla, along with a small pinch of salt. Beat on low speed with a hand mixer for 30-60 seconds just until the powdered sugar is moistened, then turn the speed up to medium and beat 1-2 minutes until smooth and fluffy. If the frosting seems too stiff to spread easily, add more milk 1 teaspoon at a time. If the frosting seems to loose and isn't holding its shape, add more powdered sugar 1 Tablespoon at a time, until you reach a smooth, spreadable consistency.
Frost The Cake. Spread frosting over the cooled cake before cutting into slices & serving. Enjoy cake right away, or store leftovers covered in the fridge 2-3 days.