Whisk flour into milk over medium heat in a small saucepan. Whisk constantly until the mixture thickens.
Remove from the heat and let cool 15 minutes (optional: transfer to a separate bowl and cover with plastic wrap while cooling), until lukewarm.
Meanwhile, cream butter and sugar until fluffy.
When the boiled milk is cool enough, pour it through a fine-mesh strainer into the bowl with the creamed butter. Add the vanilla and salt to the bowl.
Beat the milk and butter together until combined. The frosting should be smooth and silky, not at all soupy. This may take up to 10 minutes.
Spread or pipe immediately onto your cake.