This butternut squash mac and cheese is creamy, cozy and secretly packed with vegetables, thanks to a silky golden sauce made from blended squash, onion, tofu and nutritional yeast. It's vegan, nut-free and oil-free, and it hits the table in about 30 minutes, which makes it one of our favorite weeknight comfort-food dinners.

Vegan mac and cheese sounds like it shouldn't work, but vegetables do an amazing job here. Instead of cashews or store-bought vegan cheese, the sauce gets its body from tender butternut squash and its silky, clingy texture from a block of tofu. Once it's all blended, you can't taste the tofu at all, but it adds plant-based protein and makes the sauce extra smooth. If you have picky eaters (or a vegetable skeptic or two) at your table, this is a sneaky way to get a few more veggies into dinner.
Key Ingredients & Substitutions
- Pasta. Penne, elbow macaroni, shells or cavatappi all work well. Use a gluten-free pasta to keep the whole dish gluten-free; a chickpea penne adds even more protein. Regular wheat pasta is fine if gluten isn't a concern.
- Butternut squash. The base of the "cheese" sauce. Any sweet winter squash, pumpkin or even sweet potato can stand in, and pre-cubed squash from the store is a great time-saver.
- Red onion. Adds savory depth once it's boiled until soft. A yellow onion or a couple of shallots work too.
- Extra firm tofu. Makes the sauce thick, creamy and protein-rich. Silken tofu gives an even silkier sauce; use a little less plant milk if you swap it in.
- Nutritional yeast. This is where the cheesy, savory flavor comes from, so don't skip it. We like Bragg nutritional yeast. You can also stir in a handful of shredded vegan cheese at the end.
- Garlic. Fresh cloves cooked with the squash mellow nicely. In a pinch, use about 1 teaspoon of garlic powder.
- Spices. Mild curry powder, cumin and paprika give the sauce a warm, rich color and a hint of umami. Smoked paprika is a great swap if you like a smoky, "aged cheddar" vibe.
- Cornstarch. Thickens the sauce as it simmers. Tapioca starch, arrowroot, or all-purpose or gluten-free flour also work.
- Spinach. Wilts right into the sauce. Chopped kale, chard or frozen peas are easy substitutes.
- Plant-based milk. Any unsweetened, unflavored milk is fine, such as oat milk or soy milk. Canned coconut milk makes it extra rich.

Helpful Tips
Cut the squash evenly. Small, even cubes (about ¾ inch) cook through at the same time, so you won't end up with a few hard pieces that leave the sauce grainy. Cook until a fork slides into the squash with no resistance.
Save the cooking water. Scoop out half a cup of the squash cooking water before you drain the vegetables. It's full of flavor and helps the sauce blend smoothly, and you can use a splash more later to loosen things up.
Blend longer than you think. A high-speed blender gives the silkiest result, but any blender or food processor works if you let it run for a full minute or two and scrape down the sides. The smoother the sauce, the more it tastes like classic mac and cheese.
Let the sauce bubble. The cornstarch only thickens once the sauce comes to a gentle simmer, so keep stirring over medium heat for a few minutes until it turns glossy and coats the pasta. If it gets too thick, add more plant milk a splash at a time.
Season at the end. Squash varies a lot in sweetness, so taste the finished dish and add salt, an extra spoonful of nutritional yeast or a squeeze of lemon until it tastes rich and savory. If tofu is new to you, our guide on how to make tofu taste good has more ideas.

Variations
- Roasted squash. For a deeper, caramelized flavor, roast the butternut squash and onion instead of boiling them, then blend with water or plant milk in place of the cooking water.
- Baked mac and cheese. Transfer the finished pasta to a baking dish, top with breadcrumbs mixed with a little nutritional yeast, and bake at 400°F for 15 minutes until golden.
- Spicy. Add a pinch of cayenne or chipotle powder to the blender and finish with red pepper flakes, like in the photos.
- Extra veggies. Stir in steamed broccoli florets, peas or sautéed mushrooms along with the spinach.
- Cauliflower sauce. Swap half the squash for cauliflower florets for a paler, more classic-looking cheese sauce, similar to our vegan cauliflower cheese.

Serving Ideas
This is hearty enough to be a meal on its own, especially with the tofu and spinach built in. Top each bowl with sliced scallions, a pinch of chili flakes and a little extra nutritional yeast for a pretty, restaurant-style finish.
For a bigger spread, pair it with a crisp green salad with a lemony vinaigrette to balance the richness, or some roasted vegetables like broccoli or Brussels sprouts. It's also a fun match for our vegan broccoli wings if you're going all-in on comfort food.
Got extra squash on hand? Browse our butternut squash recipes for more ways to use it all week.
Storing & Freezing
Store leftovers in an airtight container in the fridge for up to 3 days. The pasta soaks up sauce as it sits, so reheat it in a saucepan over medium-low heat with a splash of plant-based milk, stirring until creamy and hot again. You can also microwave individual portions, stirring halfway through.
We don't recommend freezing the finished mac and cheese, because the pasta turns soft and mushy when thawed. The sauce, however, freezes beautifully: freeze it on its own in an airtight container or ice cube tray for up to 2 months, thaw it overnight in the fridge, and warm it on the stove before tossing it with freshly cooked pasta and spinach.

More Vegan Mac and Cheese Recipes
If you loved this recipe, here are a few more you might enjoy:
- Vegan Mac and Cheese
- Baked Vegan Mac and Cheese
- Vegan Butternut Squash Pasta
- 19 Irresistible Vegan Macaroni and Cheese Recipes
📖 Recipe

Ingredients
- 10 oz gluten-free pasta, or regular pasta; penne, elbows or shells
- 3 cups butternut squash, peeled and cut into ¾-inch cubes
- 1 large red onion, roughly chopped
- ⅓ cup nutritional yeast
- 10 oz extra firm tofu, drained
- 3 cloves garlic, peeled
- 2 teaspoon curry powder
- 1 teaspoon cumin
- 1 teaspoon paprika, sweet or smoked
- 2 tablespoon cornstarch
- 4 cups spinach, packed fresh baby spinach
- 1 cup plant based milk, unsweetened and unflavored
- ½ teaspoon salt, plus more to taste
Instructions
- Bring a large pot of salted water to a boil and cook the pasta until al dente according to the package directions (usually 8 to 12 minutes). Drain and set aside.
- Meanwhile, add the butternut squash, red onion and garlic to a medium saucepan and cover with water by about an inch. Bring to a boil, then simmer over medium heat for 12 to 15 minutes, until the squash is fork-tender. Scoop out ½ cup of the cooking water, then drain the vegetables.
- Transfer the cooked vegetables and the reserved cooking water to a blender or food processor. Add the nutritional yeast, tofu, curry powder, cumin, paprika and cornstarch. Blend on high for 1 to 2 minutes, scraping down the sides as needed, until completely smooth.
- Return the drained pasta to the pot (or a large frying pan) over medium heat. Pour in the sauce and plant-based milk, then add the spinach and salt. Cook, stirring often, for 3 to 5 minutes, until the sauce bubbles and thickens and the spinach wilts. Taste, adjust the salt, and add a splash more milk if the sauce is too thick. Serve hot.
Video
Notes
- For a fully gluten-free dish, use certified gluten-free pasta.
- The sauce thickens as it simmers. Loosen with an extra splash of plant-based milk or reserved cooking water if needed.
- Store leftovers in an airtight container in the fridge for up to 3 days; reheat on the stove with a splash of plant-based milk.
- Freeze the sauce on its own (not mixed with pasta) for up to 2 months.








Something to say? Leave a comment.