Add the flour and milk to sauce pan. Cook over medium heat, whisking continually. It's important to slowly whisk to prevent the flour from clumping at the bottom of the sauce pan and to prevent the mixture from burning.
Allow the mixture to cook until it becomes very thick. It should look like a gloppy mess! Set it aside to completely cool.
Once cooled, whisk in the vanilla extract.
Next, in a large mixing bowl, beat together the butter and sugar until light and fluffy. Don't take any shortcuts – beat until the sugar is dissolved into the butter.
Transfer all of the flour and milk mixture into the butter mixture and beat until well combined. Beat until the mixture looks like whipped cream.
At this point, you can use a small spatula to frost your cake or transfer the frosting to a piping bag with your tip of choice.
Frosting can be refrigerated for up to 7 days. To use, remove from fridge and allow to sit at room temperature for 30 minutes. Beat with a handheld mixer until light and fluffy.