Prepare the Crumb Topping:
In a medium bowl, whisk together the melted butter, granulated sugar, brown sugar, flour, and cinnamon until crumbly. The texture should resemble damp sand. Set aside.
Preheat the Oven:
Preheat your oven to 350°F (175°C). Grease a 9x9-inch baking pan or line it with parchment paper.
Mix the Dry Ingredients for the Cake:
In a medium bowl, whisk together the flour, baking powder, baking soda, cinnamon, ginger, nutmeg, cloves, and salt.
Cream the Butter and Sugars:
In a large bowl, using an electric mixer, beat the softened butter, granulated sugar, and brown sugar on medium speed until light and fluffy, about 2–3 minutes.
Add the Pumpkin, Eggs, and Vanilla:
Add the pumpkin puree to the butter mixture and beat until smooth.
Add the eggs one at a time, beating well after each addition. Then mix in the vanilla extract.
Combine Wet and Dry Ingredients:
Gradually add half of the dry ingredients to the wet mixture and mix on low speed until just combined.
Mix in the sour cream (or yogurt), then add the remaining dry ingredients, mixing until fully incorporated. Be careful not to overmix.
Assemble the Cake:
Pour the pumpkin cake batter into the prepared pan, smoothing it evenly with a spatula.
Evenly sprinkle the crumb topping over the batter, pressing down slightly so the crumbs stick.
Bake the Cake:
Bake in the preheated oven for 40–45 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
If the top starts to brown too much, tent the cake with aluminum foil during the last 10–15 minutes of baking.
Cool and Serve:
Let the cake cool in the pan on a wire rack for about 20 minutes before slicing and serving.
Optionally, dust with powdered sugar for a sweet finishing touch.