Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans, or line them with parchment paper.
In a medium bowl, whisk together the flour, baking soda, baking powder, salt, cinnamon, nutmeg, cloves, and ginger.
In a large mixing bowl, beat the softened butter until light and fluffy (about 2 minutes). Gradually add both white and brown sugars, continuing to beat for another 3-4 minutes until the mixture looks airy and pale.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Fold in the diced apples gently using a spatula. Gradually add the flour mixture, alternating with buttermilk, beginning and ending with the flour (flour-buttermilk-flour-buttermilk-flour). Mix just until combined after each addition.
Divide the batter evenly between your prepared pans, smoothing the tops with a spatula. Bake for 35-40 minutes, or until a toothpick inserted in the center comes out clean with just a few moist crumbs.
Allow the cakes to cool in their pans for 15 minutes, then gently remove them and transfer to a wire rack to cool completely.
For the frosting: Beat the softened cream cheese and butter together until smooth and fluffy, about 2 minutes. Gradually add the sifted powdered sugar, vanilla extract, and salt. Add heavy cream one tablespoon at a time until you reach your desired consistency.
Once cake layers are completely cooled, place one layer on your serving plate. Spread about 1 cup of frosting evenly over the top. Place the second cake layer on top, then frost the top and sides of the cake.