In a medium sauce pan, mix your sugar, flour and salt with a whisk. Gradually add the milk and mix well.
In a separate bowl whisk egg yolks and add to the pan. Mix well. Bring mixture to a boil over medium high heat stirring constantly until mixture becomes thick and has the consistency of pudding.
Take off heat and add butter and vanilla to the pan, stirring until well combined and butter is melted. Cool completely. I put mine in the fridge to help speed up the cooling process.
You have just created a vanilla custard. This is heavenly on it's own, but to give it a Bavarian cream texture it needs to be a little lighter in texture. We do this by taking a 1/2 cup of heavy whipping cream, whipping it until soft peaks form and gently folding the whipped cream into the custard mixture.
Place into a piping bag to be used in the cream puffs.