Preheat the oven to 350 degrees Fahrenheit.
In a large bowl, whisk together the oil, milk, sugar, vanilla and vinegar.
Add in the all purpose flour (spoon and level to measure), cornstarch, baking powder, baking soda and salt. Add the baking powder/soda on top of the flour, then gently mix into the flour to evenly distribute. This keeps this a one bowl recipe, but ensures the leavening agents are properly spread throughout the batter so the cupcakes rise evenly!
Whisk together until smooth, a few clumps is ok. The batter should have a pancake batter consistency, definitely not really runny, but also not so thick that its hard to stir.
Fold in the sprinkles carefully and just until combined because they will start to bleed into the batter if mixed too much.
Spoon the batter into a lined cupcake tray, filling about 3/4 of the way up.
Bake for 18-22 minutes or until a toothpick comes out clean.
Let cool in the cupcake tray for about 20 minutes, then carefully remove. I like to gently spin the cupcakes around in the tray so any stuck parts come loose, then tilt the tray on its side slightly to slide them right out. This prevents the tops from getting smushed when you pull them out.
While the cupcakes are baking, we can start the buttercream.
Add softened (but not melted) butter (if it was in the fridge, add to the microwave for about 20 seconds, but ideally let it come to room temperature on its own).
Add to a bowl and beat with an electric mixer until fluffy.
Add the milk and beat again.
Add in the sifted powdered sugar, 1 cup at a time, beating continuously.
It will start to get nice and fluffy but beat until no clumps remain. If it's too thick, add more milk, too thin, add more sugar. The consistency can vary depending on your preference and how you're going to frost the cupcakes. It should hold its shape on its own but not be too stiff.
Wait until the cupcakes are completely cool to frost & enjoy!