Cook the Beets: Boil all 5 beets in a medium saucepan at a light boil for 30 minutes, or until the centers are soft.
Cool the Beets: Remove the cooked beets from the saucepan and allow them to cool.
Peel the Beets: Once the beets are cool enough to handle, use your fingers to remove the skins, then trim away the stem and tail from each beet.
Puree the Beets: Place all 5 peeled, trimmed beets in a food processor and puree until smooth. Set the beet puree aside.
Combine Wet Ingredients: In a large bowl, mix the vegetable oil, eggs, sugar, 2 cups of the beet puree, vanilla, and buttermilk until combined.
Add Dry Ingredients: Add the flour, baking powder, salt, and cocoa powder to the wet mixture, combining the ingredients to form the cupcake batter.
Fill the Liners: Divide the batter among the cupcake liners, filling each one nearly to the top while leaving about ¼ inch of space.
Bake the Cupcakes: Bake at 350°F for 20–25 minutes, or until the centers come out dry when checked.
Cool the Cupcakes: Remove the baked cupcakes from the oven and let them cool completely before frosting.
Beat the Butter Cream Cheese: Place the butter and cream cheese in the bowl of a stand mixer and whisk on high until the mixture becomes soft and airy.
Add the Powdered Sugar: Add the powdered sugar and mix on low until it is incorporated and the frosting is soft.
Add Beetroot Chocolate: Add the ½ cup beet puree and melted semi-sweet chocolate to the frosting.
Finish the Frosting: Whisk the mixture until everything is fully combined.
Firm the Frosting: If the frosting needs to become firmer, refrigerate it for a few minutes.
Frost the Cupcakes: Spread or pipe the finished beetroot chocolate cream cheese frosting over the cooled cupcakes, then serve and enjoy.