In a sauce pan mix together flour and sugar.
Add in the milk and whisk well.
Now heat the mixture and keep on stirring until it becomes a thick custard. If you lift the whisk, it should hang from the whisk but should not pour down as a stream from the whisk.
Remove from heat and keep on whisking for a minute or two.
Now cover the custard with a cling wrap making sure that the cling wrap touches the surface of the custard.
Allow it to cool completely.
In a bowl beat butter until fluffy. Keep it aside.
Take custard in a bowl and beat it well.
Now add one table spoon of butter at a time and beat until incorporated.
Once all the butter is used up, add in the vanilla essence.
Now keep on beating the mixture.
At first it will be silky and shiny but after a while it will start thickening.
Once the cream is able to hold peaks, stop beating.
You can either use it immediately or can refrigerate and use.
If refrigerated, bring it back to room temperature and beat it once more before using it on a cake.
You can easily colour the butter cream with gel colours.