Preheat the oven to 350°. Spray a 9×13 inch baking dish and line with a parchment paper or foil sling.
In a large bowl cream together your butter and sugar. Add eggs and vanilla and mix well until smooth. Add your dry ingredients and stir until just combined. Do not overmix. Batter will be very thick.
Pour the batter into prepared pan, smooth it out as best as you can (It is thick) and bake for 20-25 minutes until a toothpick inserted into the center comes out clean. Err on the side of underbaking if you are questioning.
Remove from the oven and let the brownies sit for about 15 minutes. You want them to still be warm when you pour on the icing. Once you remove the brownies from the oven, make your icing by mixing all 4 ingredients together until smooth. Pour the icing over top of the still very warm brownies. Cool completely and serve.