Prepare the crumb topping: In a small bowl, combine flour, brown sugar, granulated sugar, cinnamon, and salt. Add the cold cubed butter and use a pastry cutter or your fingers to mix until the mixture resembles coarse crumbs. Set aside while you prepare the cake.
Preheat oven and prepare pan: Preheat your oven to 350°F (175°C). Grease a 9-inch square or round baking pan with butter or nonstick spray and line it with parchment paper for easier removal.
Mix dry ingredients: In a medium bowl, whisk together the flour, baking powder, baking soda, salt, cinnamon, and nutmeg. Make sure the spices are evenly distributed for a consistent flavor.
Cream butter and sugars: In a large mixing bowl, beat the softened butter, brown sugar, and granulated sugar together until light and fluffy. This should take 2–3 minutes. Add eggs one at a time, beating well after each addition, and then mix in the vanilla extract.
Combine wet and dry ingredients: Reduce the mixer speed and gradually add the dry ingredients, alternating with the yogurt or sour cream, beginning and ending with the dry ingredients. Mix just until combined.
Fold in vegetables: Gently fold in the grated carrots and zucchini, making sure they are evenly distributed throughout the batter. The moisture from the zucchini keeps the cake soft and tender.
Assemble the cake: Pour the batter into the prepared pan and smooth the top with a spatula. Sprinkle the crumb topping evenly over the batter, pressing lightly so it sticks in places but still keeps a crumbly texture.
Bake the cake: Bake in the preheated oven for 45–50 minutes, or until a toothpick inserted in the center comes out clean. The topping should be golden brown and slightly crunchy.
Cool and serve: Allow the cake to cool in the pan for at least 15–20 minutes. Remove from the pan and transfer to a wire rack to cool completely if desired. Slice into squares or wedges and serve with a cup of tea or coffee for a cozy treat.