Mix flour and milk in saucepan, making sure it has a very smooth consistency.
Cook over low heat, stirring constantly, until thickened. Put in bowl and cool completely.
Cream margarine and shortening about 4 minutes using the wire whip attachment if using a stand mixer. Add sugar gradually and beat another 4 minutes. Add flour paste and beat another 4 minutes. Add vanilla and salt and blend.
Makes enough to fill and frost a 9" layer cake, one large cake, or one batch of cupcakes.
Keep refrigerated until ready to serve if the weather is warm. Bring to room temperature to serve.
To avoid soy, select soy-free margarine (or use butter - a milk ingredient if you do not have milk allergy), shortening, and milk alternative. This can be made using all shortening (there are palm oil shortenings available) if you don't have a safe margarine. If using margarine, be sure to use a stick margarine as tub margarines have too much water content and are whipped to contain more air.
To avoid milk, select milk-free margarine, shortening, or milk alternative. This will work using soy or rice milk.
To make wheat/gluten free, use white rice flour or a gluten free flour blend.
Butter and Margarine: Butter is a dairy product made from cow’s milk. Margarine typically contains milk or soy, but there are milk-free and soy-free versions available.
Gluten: Gluten is a protein found in specific grains (wheat, spelt, kamut, barley, rye). Other grains are naturally gluten-free but may have cross-contact with gluten-containing grains. Look for certified gluten-free products if you need to avoid gluten. Find out more about wheat and gluten substitutions.