Preheat the oven to 350°F (175°C). Line a 12-cavity muffin pan with paper liners.
Whisk together the flour, sugar, cocoa powder, and baking soda. Set aside.
In a separate bowl, combine the buttermilk, oil, water, egg, and vanilla.
Slowly pour the wet ingredients into the flour mixture, mixing until smooth. Don't over-mix.
Fill each liner halfway full, using about about 2 tablespoons of batter. Be sure not to over-fill the cups.
Bake 20 minutes, or until a pick inserted into the center comes out clean.
Cool the cupcakes in the pan on a wire rack for 5 minutes. Then transfer the cupcakes from the pan to the rack to cool completely.
To make the frosting:
Using an electric mixer on medium speed, beat the butter until creamy.
Slowly add the confectioners' sugar, cocoa powder, cream, vanilla, and salt, mixing on low speed until smooth.
Transfer the frosting to a piping bag and frost the cooled cupcakes.
Notes
The cupcakes can be stored in an airtight container at room temperature for up to 3 days or in the refrigerator for up to a week. You can also freeze the cupcakes (frosted or unfrosted) up to 3 months.