The best milk substitutes for mac and cheese, ranked by how close they come to the original
The creamiest substitutes are heavy cream, evaporated milk, and half-and-half—they all contain more fat than regular milk, so your sauce will be richer and thicker without extra work. If you need a dairy-free option, oat milk and cashew cream come closest to the texture and flavor of the original dish. Coconut milk, almond milk, and soy milk work too, but each changes the taste noticeably, so the choice depends on what you have on hand and what flavor shift you're willing to accept.
The basic rule is straightforward: anything with fat and protein will make a sauce. Skim milk has neither, so it won't work well. Everything else is a trade-off between creaminess, flavor, and how much you need to adjust the rest of the recipe.
Key Takeaways
- Heavy cream, evaporated milk, and half-and-half make the richest sauce because they contain more fat than milk, so you may need less of them.
- Oat milk and cashew cream are the closest dairy-free options in both texture and neutral flavor.
- Coconut milk, almond milk, and soy milk all work but will change the taste of your dish in different ways.
- The amount you use matters: thinner substitutes may need to be reduced on the stove, or you may need to add a thickener like cornstarch or flour.
Heavy cream, half-and-half, and evaporated milk for the richest sauce
If you want mac and cheese that tastes almost identical to the original, heavy cream is the closest match. It contains about 36 percent fat, compared to 3.5 percent in whole milk, so your sauce will be thicker and richer without any changes to technique. Use the same amount as you would milk—or even slightly less, since it's richer—and your dish will turn out nearly the same.
Half-and-half (a 50-50 blend of milk and cream) is the next best choice. It has about 12 percent fat, so it's thicker than milk but thinner than cream. Use it in the same amount as milk, and your sauce will be noticeably creamier without being heavy.
Evaporated milk is shelf-stable canned milk with about 60 percent of the water removed. It has a slightly caramelized, concentrated flavor that some people notice in the finished dish, but it's thick enough to make a good sauce without adjustment. Use it straight from the can in the same amount as regular milk.
Oat milk and cashew cream for dairy-free cooking
Of the plant-based options, oat milk comes closest to the texture and neutral flavor of dairy milk. It's naturally creamy because oats contain starch and fat, and most store-bought versions are thickened with gums that mimic the mouthfeel of milk. Use it in a 1-to-1 swap for regular milk with no other changes.
Cashew cream is homemade by blending soaked raw cashews with water until smooth. It's richer than oat milk and closer in texture to heavy cream, so you may want to use slightly less of it or thin it with a little water. The flavor is neutral and slightly sweet, which works well in mac and cheese. If you don't have time to make it, store-bought cashew milk works too, though it's thinner and may need a cornstarch slurry to thicken the sauce.
Coconut milk, almond milk, and soy milk—and what they change about the dish
Coconut milk (the canned kind, not the carton) is very thick and rich, but it adds a noticeable coconut flavor that doesn't belong in traditional mac and cheese. If you like that flavor, use it—but use less than you would milk, since it's much thicker. Thin it with water if the sauce becomes too heavy.
Almond milk is thin and watery, so your sauce may not thicken properly without help. If you use it, mix a tablespoon of cornstarch with a little cold water, stir it into the sauce, and cook for another minute or two to thicken. Almond milk also has a subtle nutty flavor that some people notice.
Soy milk is thicker than almond milk and has more protein, so it makes a better sauce. The flavor is fairly neutral, though some brands taste slightly beany. Use it in a 1-to-1 swap, but watch the sauce as it cooks—soy milk can sometimes curdle if the heat is too high or if you add acidic ingredients like sharp cheddar all at once. Add the cheese slowly and stir constantly.
How to thicken a sauce when your substitute is too thin
If your sauce looks watery after you've stirred in the cheese, you have two quick fixes. The easiest is a cornstarch slurry: mix a tablespoon of cornstarch with a tablespoon of cold water until smooth, then stir it into the sauce over medium heat. Cook for one more minute, stirring constantly, until the sauce thickens. This works with any milk substitute.
The other option is to cook the sauce longer. If you have time, let it simmer gently for a few minutes without a lid—the liquid will evaporate and the sauce will thicken naturally. This works best with plant-based milks, which are often thinner than dairy. Don't let it boil hard, or the sauce may break.
Adjusting the cheese and seasonings when the flavor changes
Some milk substitutes have strong flavors of their own. If you use coconut milk or a brand of almond milk with a noticeable taste, you may want to increase the amount of cheese or add a pinch of salt and black pepper to balance it out. Taste the sauce before you pour it over the pasta, and adjust as you go.
If you're using evaporated milk, which has a slightly sweet, caramelized flavor, a small pinch of mustard powder or a dash of hot sauce can brighten the dish and keep it from tasting flat. You don't need much—just enough to notice.
Frequently Asked Questions
Can I use skim milk or low-fat milk instead of whole milk?
Skim milk has very little fat, so your sauce will be thin and watery no matter how long you cook it. Low-fat milk (2 percent) is slightly better but still won't give you the creamy texture you want. If that's all you have, add a cornstarch slurry or use less liquid overall to compensate.
What if I don't have any milk or substitute on hand?
You can make a straightforward sauce with just butter, flour, and cheese—a technique called a roux. Melt 2 tablespoons of butter, whisk in 2 tablespoons of flour, cook for a minute, then slowly add broth (chicken or vegetable) while whisking. Once it thickens, stir in your cheese. The result is less creamy than milk-based sauce but still tasty.
Does the brand of oat milk matter?
Yes. Some brands are thicker and creamier than others because they use different thickeners and have different fat content. If your first choice makes a thin sauce, try a different brand next time. Barista-blend oat milk, made specifically for coffee, is usually thicker than regular versions.
Will my mac and cheese taste the same if I use cream instead of milk?
It will taste richer and more indulgent, but not noticeably different in flavor—just creamier. Most people prefer it. The only downside is that it's heavier, so a smaller portion feels more filling.