In a medium saucepan, whisk together milk, flour and salt. Cook and stir over medium heat until thickened and bubbly. Reduce heat; cook and stir 2 minutes more. Transfer to a small bowl; cover surface with plastic wrap and refrigerate until cooled (do not stir).
In a large bowl, beat butter, sugar and vanilla on medium speed for 5 minutes until light and fluffy and sugar is almost dissolved.
Add cooled milk mixture, ¼ cup at a time. After each addition, beat on low until smooth.