Preheat your oven to 350°F and grease two 9-inch round cake pans or similar size with butter or cooking spray. While the oven heats, grate the carrots finely using a box grater or food processor—this creates better moisture distribution in the cake. Drain the crushed pineapple thoroughly in a fine-mesh strainer, pressing gently to remove excess liquid, as too much moisture will affect the cake's texture. Roughly chop 1 1/4 cups walnuts into 1/2-inch pieces and keep the remaining 1/2 cup walnut halves separate for topping.
In a medium bowl, whisk together the almond flour, tapioca flour, baking powder, cinnamon, nutmeg, ginger, and salt. Whisking the dry ingredients aerates them and ensures the leavening agents are evenly distributed, which creates a more even rise. Set this mixture aside—I like to use a fine-mesh sieve to break up any clumps in the almond flour before mixing, as this prevents dense pockets in the final cake.
In a large bowl, beat the softened butter for 2-3 minutes until light and fluffy—this incorporates air and creates a lighter crumb structure. Add the drained pineapple and mix until combined, allowing the fruit's natural sweetness and moisture to distribute evenly. Then add the honey, followed by the room-temperature eggs one at a time, beating well after each addition to create an emulsion. Finally, mix in the yogurt and vanilla essence until fully incorporated. This wet mixture forms the foundation for binding all components together.
Pour the wet ingredient mixture from Step 3 into the dry mixture from Step 2, folding gently with a spatula until just combined—don't overmix, as this can develop gluten in the almond flour and make the cake dense. Once the batter is just blended, fold in the finely grated carrots, raisins, and chopped walnuts until evenly distributed. I find it helps to fold in the carrots and mix-ins in two additions rather than all at once, ensuring they're well incorporated without overworking the batter.
Divide the batter evenly between the two prepared pans, using an offset spatula or the back of a spoon to smooth the tops. Bake at 350°F for 25-30 minutes, until a toothpick inserted in the center comes out clean with just a few moist crumbs—don't overbake, as almond flour cakes can dry out quickly. The cakes should spring back lightly when touched in the center and have a light golden color on top.
Let the cakes cool in the pans for 10 minutes, then turn them out onto a wire rack to cool completely—this prevents condensation from making the bottoms soggy. While the cakes cool, prepare the two recipes of cream cheese frosting according to your preferred recipe, using Philadelphia block cream cheese for the best stability and structure. Once the cakes are completely cooled, place one layer on a serving plate and spread a thick layer of frosting on top.
Place the second cake layer on top of the frosted base, pressing gently to secure it. Frost the top and sides of the assembled cake with the remaining frosting, using an offset spatula or knife to create an even finish. Top the cake with the reserved walnut halves, arranging them in a decorative pattern or pressing them into the frosting around the top edge for visual appeal and that satisfying crunch.