In a large pot of boiling, salted water cook the pasta to al dente (if you want to bake your pasta to get crispy edges, cook the pasta until just before al dente. It will cook more in the oven).
While the pasta is cooking, in a separate sauce pan, melt the margarine (you could also use olive oil) on medium-high heat.
Whisk in the flour and keep it moving for about five minutes. Make sure it’s free of lumps.
Slowly add in your dairy-free milk, whisking to combine with each addition. Stir switching between a wooden spoon and a whisk to keep the lumps from forming.
Keep stirring until it is all combined and also keep on eye on it so it would stick and burn. It will be simmering and thickening, about 10 minutes. The sauce will thicken once it begins to reach boiling point, and it will reach desired thickness usually a few minutes after it begins that low boil. Be sure to keep stirring. Once it reaches the desired thickness, remove from the heat. Keep in mind sauce will continue to thicken when you remove from heat.
Stir in the mustard and whisk it all together.
Stir in the cheese.
Season with the salt and freshly ground pepper (if using). If you are would like more flavor, add in a teaspoon of the optional garlic or onion powder and stir to combine.
Fold the macaroni into the cheese sauce and stir it all together. Serve with additional freshly ground pepper (optional). Enjoy!
If you are baking it, pour into a 2-quart casserole dish. Bake on 350F for 20-30 minutes, until it’s nice and crispy around edges.