Preheat your oven to 350°F (175°C). Grease and flour a 10-inch bundt pan really well.
In a large bowl, whisk together the flour, baking soda, cinnamon, nutmeg, cloves, and salt.
In a separate bowl, whisk together the sugar, oil, eggs, and vanilla extract until smooth.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined.
Fold in the grated carrots and chopped nuts (if using).
Pour the batter into the prepared bundt pan. Bake for 50-60 minutes, or until a toothpick inserted into the center comes out clean.
Let the cake cool in the pan for 10-15 minutes before inverting it onto a wire rack to cool completely.
While the cake is cooling, prepare the cream cheese frosting. In a large bowl, beat the softened cream cheese and butter until smooth and creamy.
Gradually add the powdered sugar, beating on low speed until combined. Stir in the vanilla extract.
Add milk or cream, one tablespoon at a time, until the frosting reaches your desired consistency.
Once the cake is completely cool, frost it generously with the cream cheese frosting.