Preheat oven to 350° F. Spray donut molds with non-stick spray and set aside.
In a large bowl, combine the flour, sugar, baking soda, salt, and cocoa powder. Set aside. In another bowl, whisk together the buttermilk, oil, egg, vanilla, and vinegar. Pour the wet ingredients into the dry and gently fold together, try not to overmix. Pour in 2-3 tsp of red food coloring and mix.
Spoon the batter into the donut molds, filling them about halfway. Bake for 10-12 minutes, or until the donuts spring back when lightly pressed. Allow the donuts to cool for 5-10 minutes before removing them from the pan and transferring them to a wire cooling rack. Allow donuts to cool completely before icing.
Make the cream cheese frosting
In a large bowl, use an electric mixer to beat the butter and cream cheese together until smooth and creamy, about 2-3 minutes. Mix in the vanilla. Slowly add the sifted powdered sugar until completely combined, and then add in the milk. Beat on high for 1-2 minutes to finish.
Either spread the frosting on the cooled donuts with a knife or spoon the icing into a ziploc bag and pipe onto donuts.
Don't over mix your batter! You want to fold the dry ingredients into the wet just enough that there are no more streaks of flour left.
If food coloring isn't your thing, you don't have to add it. The donuts will look more like a chocolate color, but still taste exactly the same!
Make sure to coat your donut pan/mold with non-stick spray, and make sure to get the middle part too. You don't want the donuts to stick when taking them out.