Preheat your oven to 350°F (175°C). Grease and line three 8-inch round cake pans with parchment paper.
In a medium bowl, whisk together the flour, baking soda, salt, cinnamon, nutmeg, and cloves until thoroughly combined.
Using a stand mixer fitted with the paddle attachment (or a hand mixer), cream the butter and both sugars on medium-high speed until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, beating well after each addition. Mix in the vanilla extract.
Reduce the mixer speed to low and gradually add the flour mixture in three portions, alternating with the buttermilk, beginning and ending with the flour mixture. Mix just until combined.
Gently fold in the diced apples using a spatula.
Divide the batter evenly among the prepared cake pans, smoothing the tops with an offset spatula.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs. Rotate pans halfway through baking for even results.
Allow the cakes to cool in the pans for 15 minutes before transferring to wire racks to cool completely. Refrigerate for about 30 minutes before frosting.
For the salted caramel frosting: In a medium saucepan with a heavy bottom, combine the sugar and water. Heat over medium heat without stirring until the sugar dissolves.
Increase the heat to medium-high and boil until the mixture turns a deep amber color (approximately 350°F on a candy thermometer), about 8-10 minutes.
Remove from heat and carefully whisk in the heavy cream (the mixture will bubble vigorously). Stir in the salt and let the caramel cool completely to room temperature, about 30 minutes.
Beat the cream cheese and butter together in a large bowl until smooth and creamy, about 2 minutes.
Gradually add the powdered sugar, one cup at a time, beating well after each addition.
Add the cooled caramel and vanilla extract, then beat until the frosting is light and fluffy, about 3-4 minutes. If too soft, refrigerate for 15-20 minutes before using.
To assemble the cake: Place one cake layer on a serving plate or cake stand. Using an offset spatula, spread about 1 cup of frosting evenly over the top.
Add the second cake layer and repeat with another cup of frosting.
Place the final cake layer on top, then apply a thin crumb coat around the entire cake. Refrigerate for 20 minutes to set.
Cover the cake with the remaining frosting, creating decorative swirls if desired.
Optional: Decorate the top with chopped nuts, fresh apple slices, and a drizzle of additional caramel sauce.