Preheat your oven to 175 °C (350 °F) and grease a 9-inch round or square baking pan.
In a large bowl, thoroughly mix the all-purpose flour, baking powder, baking soda, and salt.
In a separate bowl, cream the softened butter and granulated sugar with an electric mixer until light and fluffy, about 3-4 minutes.
Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients to the wet mixture, alternating with the sour cream. Start and end with the dry ingredients, mixing just until combined. Do not overmix!
In a small bowl, combine the brown sugar, ground cinnamon, and chopped nuts (if using) to make the cinnamon swirl filling.
Spread half of the cake batter evenly in the prepared baking pan. Sprinkle with half of the cinnamon mixture.
Pour the remaining batter over the cinnamon filling and top with the remaining cinnamon mixture.
Use a knife or toothpick to gently swirl the cinnamon mixture into the batter to create a marbled effect.
Bake the cake in the preheated oven for 30-35 minutes, or until a toothpick inserted in the center comes out clean.
While the cake is baking, prepare the glaze by whisking together the powdered sugar, milk, and vanilla extract in a small bowl until smooth.
Once the cake is baked, let it cool in the pan for about 10 minutes before transferring it to a wire rack to cool completely.
Once the cake is cool, drizzle the glaze evenly over the top.
Notes
Serve warm with a light dusting of powdered sugar. Pairs well with fresh coffee.