Preheat the oven to 350 degrees F. Grease three 8-inch round cake pans. Line with parchment paper, then butter/spray with cooking spray.
In a medium size bowl combine the flour, baking soda, baking powder and salt.
In the bowl of a stand mixer (or use a hand held mixer) beat together the butter and sugar until light and fluffy. With the mixer on low, beat in the eggs and egg yolks. Add the greek yogurt and vanilla and beat until combined. Slowly add the dry ingredients to the wet ingredients with the mixer on low, alternating with the buttermilk and ending with flour until just combined.
Pour the batter among the 3 cake pans and bake 25-30 minutes, until the tops are just set and no longer wiggly in the center. Remove and let cool five minutes, then run a knife around the edges of the pan. Grab 3 large flat plates, line them with wax or parchment paper and invert the cakes onto the paper lined plates. Cover and let the cakes cool completely before frosting.
To make the frosting, Add the butter and powdered sugar to the bowl of a stand mixer (or use a hand held mixer). Beat the butter and powdered sugar together until the butter is light and fluffy, about 4 minutes. Add the cocoa powder and vanilla and beat, scraping down the sides as needed, another 2 minutes or until there are no streaks of white. Add 4 tablespoons of the heavy cream and whip the frosting for 2-4 minutes more or until light and fluffy. If desired add the remaining tablespoon of the heavy cream (I normally do) and whip until combined. Taste the frosting and add more powdered sugar if you like a sweeter or thicker frosting. Place 1 layer, flat side up, on a plate or cake stand. With a knife or offset spatula, spread the top with frosting. Place the second layer on top, rounded side up, and spread the frosting evenly on the top and sides of the cake. Decorate with sprinkles, chocolate curls or whatever your heart desires.