Preheat your oven to 350°F (176°C) and line a cupcake pan with paper liners. This helps the cupcakes bake evenly and prevents sticking.
In a large bowl, whisk together flour, sugar, baking soda, baking powder, cocoa powder, and salt until well combined so everything is evenly distributed.
In another bowl, mix buttermilk, vegetable oil, vanilla extract, egg, vinegar, and red food coloring until smooth and fully blended.
Add the wet ingredients into the dry ingredients and mix until smooth and well combined. Avoid overmixing to keep the cupcakes soft.
Slowly pour in the hot water while mixing on low speed until fully incorporated. The batter will be thin, which is completely normal and gives a moist texture.
Fill each cupcake liner about halfway and bake for 16–20 minutes, or until a toothpick inserted in the center comes out with a few moist crumbs.
Remove from the oven and let the cupcakes cool in the pan for a few minutes, then transfer to a wire rack to cool completely before frosting.
Beat cream cheese and butter together until smooth and creamy, then gradually add powdered sugar and mix in vanilla extract until the frosting is light and fluffy.
Once the cupcakes are fully cooled, frost them using a spatula or piping bag and serve at room temperature for the best texture and flavor.