Preheat your oven to 350°F (175°C). Grease a 9-inch square baking dish or cake pan with butter or cooking spray, then lightly dust with flour to prevent sticking.
In a medium bowl, whisk together the flour, brown sugar, cinnamon, nutmeg, and salt for the streusel. Add the cold cubed butter and use a pastry cutter or your fingertips to work the mixture until it resembles coarse crumbs with pea-sized butter pieces. Refrigerate the mixture while you prepare the cake batter.
In a medium bowl, whisk together the flour, baking powder, baking soda, salt, cinnamon, and nutmeg.
In a large bowl using a hand mixer or stand mixer fitted with the paddle attachment, beat the softened butter and granulated sugar together on medium-high speed until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, beating well after each addition. Scrape down the sides of the bowl as needed. Beat in the vanilla extract until combined.
Add one-third of the dry ingredients to the butter mixture and beat on low speed just until combined. Add half the sour cream and mix. Continue alternating with remaining dry ingredients and sour cream, ending with the dry ingredients. Mix until just combined.
Gently fold in the diced apples using a rubber spatula.
Spread the batter evenly into the prepared baking dish. Remove the streusel topping from the refrigerator and sprinkle it evenly over the batter, gently pressing it into the surface.
Bake for 45-50 minutes, until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Allow the cake to cool in the pan on a wire rack for at least 15-20 minutes before serving.