Why This Matters and What Actually Works
Eliminating both dairy and wheat at the same time is harder than most people realize. You can handle one easily. Doing both together creates a compounding problem because the two most common substitutes — oat milk and buckwheat flour — each bring their own set of issues that most recipe sites ignore entirely. The core challenge isn't just swapping ingredients. It's understanding that dairy fat and wheat gluten serve structural purposes in baking and cooking. When you remove them, you're not just changing flavor. You're changing texture, moisture retention, browning, and how ingredients bind together. I learned this the hard way after my daughter was diagnosed with both a casein intolerance and celiac disease around 2019. I spent three months destroying perfectly good food before I figured out what actually works. Most of those failures came from following standard dairy-free recipes that assumed someone would just use regular wheat flour, or wheat-free recipes that assumed someone would just use butter. Neither situation applies when you need both modifications simultaneously.
Here's a practical breakdown of what I've found through trial and error.
Substitutes That Actually Behave
Not all alternatives are interchangeable. This is where most people go wrong. They pick a dairy-free milk and a wheat-free flour without checking how they interact with each other and the other ingredients in the recipe. For dairy replacement: Whole oat milk is the closest functional substitute for cow's milk in most applications. It has enough natural fat and protein to participate in Maillard browning and provide mouthfeel. Rice milk separates when heated. Almond milk has almost no fat and makes baked goods taste dry within hours. Coconut milk works in curries and desserts but overpowers savory dishes at anything above a 1:3 dilution ratio.
Get the Full Details

For wheat replacement: Buckwheat flour is the most versatile wheat-free option. Despite the name, it has no wheat and no gluten. It has a strong flavor that some people dislike, but it performs well in pancakes, waffles, crepes, and thickening sauces. Almond flour absorbs significantly more liquid than wheat flour and produces dense results if you don't adjust the wet ingredients. Rice flour (whether white or brown) creates a gritty texture unless you combine it with a starch like tapioca or potato starch. The best result I've found is a blend of 60% buckwheat, 25% tapioca starch, and 15% brown rice flour. This mimics the protein and absorption characteristics of all-purpose wheat flour well enough for most everyday cooking.
A Specific Problem I Encountered
One issue that drove me crazy was making crepes. Standard crepe recipes call for wheat flour and cow's milk. My first attempt with buckwheat flour and oat milk produced crepes that tore apart every single time. The binding agents in wheat gluten and casein weren't present, and the buckwheat-oat combination was too fragile when flipped. The workaround was adding one extra egg per cup of dry flour and letting the batter rest for at least forty-five minutes. The resting period allows the buckwheat to fully hydrate, which develops the structure that gluten would normally provide. Without that rest time, the crepes fall apart. With it, they hold together well enough to fill and fold without trouble. This wasn't mentioned in any of the dairy-free or wheat-free recipe blogs I found. I had to figure it out myself after about eight ruined crepes.
Cooking Methods That Matter More Than You'd Expect
When you remove dairy and wheat, cooking technique becomes much more important than recipe complexity. A simple dish executed properly will beat a complicated recipe executed carelessly every time. Searing meat without dairy-based basting requires a different approach. Butter is commonly used in recipes for finishing steaks and chicken because its milk solids promote browning and add flavor. When you can't use butter, the alternative is either ghee (which some people with dairy sensitivities tolerate because the casein has been removed through clarification) or a neutral oil with a high smoke point like avocado oil or refined coconut oil. Avocado oil is my default. It can handle temperatures up to 520°F and doesn't impart any flavor. Refined coconut oil works at 400°F and adds a slight sweetness that works in certain dishes. Thickening sauces without dairy or wheat flours is straightforward if you know the options. A roux made with butter and wheat flour is the traditional method. Without either, you have several paths. A slurry of cornstarch or arrowroot powder mixed with cold water and stirred into a hot liquid will thicken within seconds. The result is glossy and translucent rather than opaque. For a creamier sauce, you can blend soaked cashews with water until smooth and stir that into your base. The cashew cream provides fat and body that replicate heavy cream reasonably well. It won't taste like cream, but it provides the right texture in curry sauces and Alfredo-style preparations.

What This Approach Doesn't Do Well
I want to be honest about the limitations. A strictly dairy-free and wheat-free kitchen is more expensive than a standard one. Good quality oat milk costs about twice as much as whole milk. Buckwheat flour costs roughly 50% more than all-purpose wheat flour. The ingredient blend I described above requires buying three separate products, which adds up at the checkout. Baking is significantly more difficult. Cookies, cakes, and breads that rely on the gluten structure and dairy fat will not turn out the same. You can get close with careful experimentation, but "close" is the target, not "identical." If you're trying to replicate a sourdough loaf or a flaky croissant, you will likely be disappointed no matter what you do. The chemistry doesn't support it with current mainstream ingredients. Some people with wheat sensitivities also react to buckwheat. It's not a wheat product, but it's related to rhubarb and spinach, and cross-reactivity exists. If you find that buckwheat causes discomfort, sorghum flour or millet flour are the next reasonable options, though both absorb liquid differently and require recipe adjustment.
Practical Starting Points
If you're new to this, start with things that are naturally close to dairy-free and wheat-free already. Scrambled eggs with vegetables cooked in oil. Rice with beans and roasted vegetables. A soup made from broth, potatoes, and coconut milk. These require minimal substitution and let you build confidence before tackling baked goods or pasta dishes. Pasta is a common sticking point. Rice pasta and corn pasta are widely available and require no modification. Lentil pasta has more protein but a distinct earthy flavor. Spaghetti squash works as a vegetable-based alternative for those who don't mind the texture. None of these behave exactly like wheat pasta, but they are acceptable in most meals once you stop comparing them directly. The biggest mistake I see people make is trying to replace every single ingredient at once. That creates too many variables and makes it impossible to know which substitution is actually working. Change one thing at a time. Keep a note of what you adjust and how the result differs. After a few weeks of this, you'll have a personal reference that no recipe blog can match because it's built from your own kitchen outcomes.