Preheat the oven to 350 F. Grease two 8 inch round cake pans and line the bottoms with parchment paper.
In a medium bowl, whisk together the flour, baking powder, baking soda and salt.
In a large bowl, beat the softened butter, vegetable oil and sugar with a mixer for 3 minutes until light and creamy. Beat in the yogurt and vanilla until smooth.
Add half the dry ingredients and mix on low, then pour in the milk and vinegar, then the remaining dry ingredients. Mix just until combined. Gently fold in the 1/2 cup of sprinkles with a spatula.
Divide the batter evenly between the pans and smooth the tops. Bake for 28 to 32 minutes until golden and a toothpick comes out clean.
Cool the cakes in the pans for 15 minutes, then turn out onto a wire rack and cool completely.
Beat the softened butter for 2 minutes until pale, then add the powdered sugar, heavy cream, vanilla and salt. Beat on high for 3 to 4 minutes until fluffy.
Place one cake layer on a plate and spread with a thick layer of buttercream. Top with the second layer, frost the top and sides, and finish with the remaining sprinkles.