Preheat your oven to 375°F (190°C) and grease your baking dish thoroughly.
Line the pan with parchment paper for easier removal and cleaner slices.
In a medium bowl, whisk together flour, baking powder, and salt until evenly mixed.
In a separate large bowl, beat the egg lightly until slightly frothy.
Add granulated sugar to the egg and mix until smooth and slightly pale.
Pour in the milk, vegetable oil, and vanilla extract, then mix until fully combined.
Gradually add the dry ingredients into the wet mixture.
Stir gently until just combined, making sure not to overmix to keep the cake soft.
Pour the batter into the prepared baking dish and spread evenly.
In another bowl, prepare the streusel by mixing brown sugar, flour, cinnamon, and melted butter.
Stir until crumbly and well combined.
Add chopped nuts if using, and mix lightly.
Sprinkle the streusel evenly over the cake batter.
Use your finger or the handle of a spoon to gently press parts of the streusel slightly into the batter to create a layered effect.
Place the cake in the oven and bake for 25–30 minutes.
Check doneness by inserting a toothpick into the center—it should come out with moist crumbs, not wet batter.
Remove from the oven and allow the cake to cool in the pan for 10–15 minutes.
Transfer to a cooling rack and let it cool further before glazing.
For the glaze, mix powdered sugar, butter, and milk until smooth and pourable.
Drizzle the glaze over the cake in a zigzag pattern.
Let the glaze set for a few minutes before slicing.
Slice into squares and serve warm or at room temperature.