Start by preheating your oven to 350°F (175°C). While the oven is heating, prepare your cake pan by greasing and flouring it thoroughly to prevent sticking, or alternatively, line it with parchment paper for easy removal after baking.
In a medium bowl, combine all the dry ingredients. Whisk together the flour, ground cinnamon, nutmeg, cloves, allspice, baking soda, and salt until everything is well blended. Set this mixture aside for now.
In a separate large mixing bowl, begin preparing the wet ingredients. Whisk together the granulated sugar, brown sugar, eggs, and vanilla extract until smooth and well combined. Then add the vegetable oil and carrot puree, and continue whisking until the mixture becomes smooth and uniform.
Next, stir in the grated carrots and shredded coconut, folding them into the wet mixture until evenly distributed. These ingredients will give the cake a moist texture and added flavor.
Gradually add the dry mixture into the bowl with the wet ingredients. Gently fold the two together until just combined, being careful not to overmix the batter, as this could result in a dense cake.
Once the batter is ready, pour it into your prepared cake pan, smoothing the top with a spatula. Place the pan in the preheated oven and bake for 35 to 40 minutes, or until a toothpick inserted into the center of the cake comes out clean. After baking, allow the cake to cool in the pan for about 10 minutes before transferring it to a wire rack to cool completely.
While the cake is cooling, prepare the cream cheese frosting. In a mixing bowl, beat the softened cream cheese and butter together until smooth and creamy.
Add vanilla extract and a pinch of salt, then slowly incorporate the powdered sugar while continuing to beat the mixture. Continue mixing until the frosting becomes light, fluffy, and spreadable.
Once the cake has cooled completely, use a spatula to evenly spread the cream cheese frosting over the top. The cake is now ready to serve and enjoy.