Preheat oven to 350 F. Line 20 muffin cups with cupcake liners. Set aside.
In a large bowl, beat the butter and sugars together until well-combined, about 3-4 minutes on medium.
Mix in the eggs one at a time until well-incorporated.
Mix in the vanilla.
Add the buttermilk, sour cream, and warm water. Mix in until well-combined.
Add the flour, cocoa powder, baking soda, and salt. Mix in just until combined. Do not overmix.
Divide the batter among the prepared muffin cups.
Bake about 18-25 minutes, or until a toothpick inserted in the center comes out clean.
Let cool in the pan for 5 minutes.
Remove to a wire rack to finish cooling.
Notes
Butter: I use salted butter in this recipe. If you would prefer to use unsalted butter, increase the salt to 1/2 teaspoon.
Brown sugar: Light or dark brown sugar will work equally well.
Vanilla extract: The vanilla helps to enhance the chocolate flavor. You can decrease the amount of vanilla to 1 teaspoon if you prefer.
Buttermilk: I recommend using full-fat, but low-fat will work if that's what you have. If you don't have buttermilk, you can make a substitute with this recipe.
Sour cream: I recommend using full-fat sour cream in this recipe.
Flour: Be sure to properly measure the flour to avoid dense or dry cupcakes. Either weigh or sift the flour, lightly spoon into the measuring cup, and then level.
Cocoa powder: You'll need regular, not Dutch-processed, cocoa powder for this recipe.