Preheat your oven to 350 degrees and line a cupcake pan with liners. Set aside.
In a medium bowl, add the flour, baking powder, baking soda, and salt. Mix together and set aside.
In a large microwave safe bowl, melt the butter in the microwave. Add in the sugar and whisk until combined. Chill in the fridge for about a minute.
Add in the egg, yogurt, 3/4 cup milk, and vanilla and stir (I used a whisk) until combined.
Slowly add in the dry ingredients and mix until smooth. The batter will be thick.
Make your chocolate batter by removing 3/4 cup of the vanilla batter and putting it into a small bowl. Add in the cocoa powder and tablespoon of milk and whisk until combined.
I used a cookie scoop (or you can use a tablespoon) to add in 1 Tablespoon of vanilla batter into each cupcake liner.
Top each with a spoonful of chocolate batter.
Then top with another layer of vanilla batter.
You can either gently swirl the layers together with a toothpick or just leave the flavor layers. I did a few of each.
Bake the cupcakes for 20 minutes or until a toothpick inserted in the center comes out clean.
Allow the cupcakes to cool completely before you frost them.
To make the Chocolate Buttercream
Add the softened butter to the bowl of your stand mixer (or a large bowl & use your hand mixer) and cream for about 2 minutes on medium speed until creamy.
Meanwhile, add the powdered sugar and cocoa powder to a medium bowl and whisk together so it's fully combined.
Turn the mixer down and slowly add in the powdered sugar mix, heavy cream, and vanilla (I did it in thirds). Beat on low speed after each addition.
Once all the ingredients are incorporated, beat on medium until creamy, about two minutes. Add in a pinch of salt, if needed, but I think using one stick of salted butter helps to balance the sweetness.