Preheat the oven to gas mark 3/325oF/170oC/150oC fan and line a cupcake tin with 12 cupcake cases.
Make the Cupcakes: Using a spatula, cream together the butter and sugar then pour in the vegetable oil and continue to mix using a wire whisk until smooth. Continue using a wire whisk for the rest of the recipe if mixing by hand.
Add in the eggs and vanilla extract then combine until smooth then mix in the milk and sour cream. Add the salt then gradually add in the flour and combine until smooth.
Spoon the batter evenly between the 12 cupcake cases and bake for 25 minutes. Once baked, remove and place the tray on a cooling rack for 10 minutes then transfer the cupcakes from the tin to the cooling rack and allow them to completely cool.
Make the Buttercream: To a stand mixer bowl fitted with a paddle attachment, add the butter and beat for 3 - 4 minutes until light and fluffy. Add in half the icing sugar and continue to mix until well combined. Add in the second half and continue to mix.
Pour in the milk, vanilla extract and food colouring if using and continue to mix until smooth and creamy. Add the buttercream to a piping bag fitted with a piping nozzle and decorate the cupcakes. I used the Ateco 849 nozzle for the pictured cupcakes.