Start by preheating your oven to 350°F (175°C). Grease a 9×13-inch baking pan or line it with parchment paper for easier removal. If using round cake pans, line the bottoms with parchment circles.
In a large bowl, sift together the flour, baking powder, baking soda, salt, cinnamon, nutmeg, and cloves. Mixing these first helps evenly distribute the spices and leaveners throughout the cake.
In another bowl, whisk together the pumpkin puree, both sugars, oil, eggs, vanilla, and milk. Mix until smooth and well combined. You don’t need to overbeat it—just make sure there are no visible lumps.
Gradually add the dry mixture into the wet mixture, stirring with a spatula or low-speed mixer until just combined. Be careful not to overmix, or the cake may turn out dense.
Pour the batter into your prepared pan, smoothing the top with a spatula. Bake for 30–35 minutes, or until a toothpick inserted in the center comes out clean. Let the cake cool completely in the pan before frosting.
While the cake cools, beat the cream cheese and butter together until creamy and fluffy. Add in the powdered sugar one cup at a time, followed by the cinnamon, vanilla, and a pinch of salt. Add milk a little at a time until the frosting reaches your desired consistency. Once the cake is cool, frost generously and enjoy!