In a small bowl, whisk together the flour, cocoa powder, cornstarch, and salt. Set aside.
Whisk together the melted butter, granulated sugar, and vanilla extract.
Add in the eggs one at a time and whisk each one until fully incorporated and the batter starts to get lighter in color.
Then add in the white vinegar and red food coloring.
Fold in the dry ingredient mixture and mix until the batter is just combined.
Cut a parchment paper sling slightly smaller than the width of the square cake pan and make sure it fits flatly in the bottom. Then lightly spray the bottom and sides of the pan with a vegetable oil based spray. Place you parchment paper sling in the bottom of the pan and smooth it out so that it sticks to the pan spray (you can use metal binder clips to secure it to the pan). After baking you’ll be able to just slide the brownies right out of the pan!
Pour the batter into your prepared baking pan.
Bake at 350°F for 30-40 minutes or until an inserted knife comes out mostly clean.
Remove from the oven and let fully cool in the pan.
Once the brownies are cool, use the edges of the parchment paper to slide the brownies out of the pan.
Cream Cheese Frosting
Make sure both your butter and cream cheese are fully at room temperature or else it won't combine smoothly and you'll end up with cream cheese lumps.
Using a hand mixer or a stand mixer fitted with the paddle attachment, cream together the butter and cream cheese until smooth.
Add in the powdered sugar, vanilla, and salt and beat on low speed until fully combined. Then increase the speed to high and whip for 2-3 minutes until the frosting is light and fluffy. Add in 1-2 teaspoons of heavy cream as desired to reach your desired consistency.
Once the brownies are fully cool, scoop dollops of cream cheese frosting over the surface of the brownies. Then gently smooth into an even layer and make swirls in the frosting using the back of a spoon.
These brownies are best eaten within the first 2-3 days, but will keep in an airtight container in the fridge for up to 5 days (if they're unfrosted they can be stored at room temp). However, they taste best if you let them come up to room temperature for at least 30 minutes before eating.
Notes
It's better to undercook the brownies slightly, than overcook them! Brownies will dry out quick, so it's best to err on the side of caution when baking brownies! Bake just until an inserted toothpick comes out mostly clean but still a tad gooey. If you aren't sure, just go ahead and take them out because they'll continue to firm up as they cool. Note: the larger the pan, the less time the brownies will take to cook.Be patient and let them cool. Warm brownies fresh out of the oven are delish, I know. But it's best to let them fully cool before digging in. The brownies will be less likely to crumble when you cut them and the center is more likely to be fully cooked while still being perfectly fudgy.Note: The square cake pans I use are between 2 ¼ and 2 ½ inches deep (so that you can get those super thick brownies). So if your pan happens to be shallower, you might end up with a little too much batter. So instead you can also bake these brownies in a 9x13 inch pan, just note the brownies will be much thinner than the photos.