Preheat the oven to 350°F. Line two cupcake pans with ~18 cupcake liners.
Whisk the milk and vinegar together and let sit for about 10-15 minutes until the mixture curdles.
In the meantime, in a large mixing bowl, whisk the flour, sugar, baking soda & powder, and salt.
Once the milk has curdled, add the milk mixture, oil, and vanilla to the dry mixture. Mix just until combined.
Add in the warm water and mix until the batter is smooth and silky.
Pour the batter into the cupcake liners, filling each up ~3/4 of the way.
Bake for 16-20 minutes, until a toothpick comes out clean or with just crumbs on it (don’t overcook or they may be dry).
For the buttercream, add the butter to a mixing bowl. Beat for a couple minutes, until fluffy.
Add the powdered sugar and beat until combined.
Begin to add milk and continue to beat. Add milk until you reach the desired consistency.
Once the cupcakes are cooled, pipe the frosting (we prefer a Wilton 2D tip). Keep plain or add any toppings you’d like!