Imagine pulling a golden, bubbling gratin out of the oven — layers of tender zucchini and herb-marinated tofu blanketed in a silky coconut cream sauce, all crowned with a shatteringly crispy walnut and toasted coconut crumble. This Italian-inspired bake delivers deep, savory satisfaction with every forkful: earthy Italian herbs, the subtle sweetness of coconut cream, and a nutty crunch that rivals any traditional breadcrumb topping. It tastes indulgent, but every ingredient is entirely plant-based and completely keto-friendly.

Each generous serving packs roughly 65 grams of fat — primarily from full-fat coconut cream, coconut oil, and walnuts — while keeping net carbs at just 9 grams. With 16 grams of plant-based protein from tofu and walnuts, the macro profile is perfectly dialed for ketosis. The high proportion of medium-chain triglycerides from the coconut cream and oil makes this particularly effective for those following a vegan keto approach where quality fat sources are essential.

Best of all, this gratin is specifically designed for batch cooking. Bake one large dish on Sunday, portion it into four meal-prep containers, and you have satisfying dinners ready to reheat for the next four to five days. The flavors actually deepen as the gratin rests in the fridge overnight, and the coconut cream sauce firms up beautifully, making each reheated portion even more luscious than the first.

Ingredients (serves 4)

For the coconut cream sauce:

  • 1 can (13.5 oz / 400ml) full-fat coconut cream
  • 2 tablespoons (30ml) coconut oil
  • 3 cloves garlic, minced
  • 2 tablespoons (10g) nutritional yeast
  • 1 teaspoon dried Italian herb blend (oregano, thyme, rosemary)
  • 1/2 teaspoon fine sea salt
  • 1/4 teaspoon freshly ground black pepper
  • 1/4 teaspoon red pepper flakes

For the gratin layers:

  • 14 oz (400g) extra-firm tofu, pressed for at least 15 minutes
  • 2 medium zucchini (about 12 oz / 350g total), sliced into 1/4-inch rounds
  • 2 tablespoons (30ml) extra virgin olive oil
  • 1 teaspoon dried oregano
  • 1/2 teaspoon garlic powder
  • 1/2 teaspoon salt

For the walnut-coconut crumble:

  • 1/3 cup (50g) raw walnuts, roughly chopped
  • 1/4 cup (20g) unsweetened shredded coconut
  • 1 tablespoon (15ml) coconut oil, melted
  • 1 tablespoon (5g) nutritional yeast
  • 1/4 teaspoon dried rosemary, crushed
  • Pinch of salt

For garnish:

  • Fresh basil leaves
  • Extra virgin olive oil for drizzling

Instructions

  1. Preheat and prep. Set your oven to 375°F (190°C). Press the tofu by wrapping it in a clean kitchen towel and placing a heavy skillet or cutting board on top for at least 15 minutes. This removes excess moisture and helps the tofu absorb the herb seasonings.

  2. Prepare the tofu. Cut the pressed tofu into 1/2-inch (1.25cm) thick slabs, then cut each slab in half to create rectangles that will layer easily. In a bowl, toss the tofu pieces with 1 tablespoon of the olive oil, the dried oregano, garlic powder, and salt. Set aside to marinate while you prepare the other components.

  3. Season the zucchini. Toss the zucchini rounds with the remaining 1 tablespoon of olive oil and a pinch of salt. Spread them on a clean kitchen towel and pat dry to remove surface moisture — this prevents the gratin from becoming watery.

  4. Make the coconut cream sauce. In a medium saucepan over medium heat, warm 2 tablespoons of coconut oil. Add the minced garlic and sauté for 60 seconds until fragrant but not browned. Pour in the full can of coconut cream and whisk until smooth. Stir in the nutritional yeast, Italian herb blend, salt, pepper, and red pepper flakes. Simmer gently for 3 to 4 minutes, stirring occasionally, until the sauce thickens slightly and the herbs bloom. Remove from heat.

  5. Make the crumble topping. In a small bowl, combine the chopped walnuts, shredded coconut, melted coconut oil, nutritional yeast, crushed rosemary, and a pinch of salt. Toss until everything is evenly coated. The mixture should be crumbly and slightly clumpy.

  6. Assemble the gratin. Lightly grease a 9x9-inch (23x23cm) or 8x10-inch (20x25cm) baking dish with a thin layer of coconut oil. Spread about 3 tablespoons of the coconut cream sauce across the bottom. Arrange half of the zucchini rounds in a single overlapping layer. Place the seasoned tofu slabs in an even layer over the zucchini. Pour half of the remaining sauce over the tofu. Layer the rest of the zucchini rounds on top, then pour the remaining sauce evenly over everything. Scatter the walnut-coconut crumble across the top in an even layer.

  7. Bake. Place the gratin on the center rack and bake uncovered for 35 to 40 minutes, until the sauce is bubbling around the edges, the zucchini is fork-tender, and the crumble topping is deep golden brown. If the crumble is browning too quickly, tent loosely with foil for the last 10 minutes.

  8. Rest and serve. Let the gratin cool for 10 minutes before slicing — this allows the coconut cream sauce to set slightly and makes portioning much easier. Garnish with fresh torn basil leaves and a light drizzle of extra virgin olive oil. For meal prep, let it cool completely before dividing into four airtight containers.

Nutrition per Serving

Nutrient Amount
Calories ~685 kcal
Fat ~65g
Protein ~16g
Total Carbs ~13g
Fiber ~4g
Net Carbs ~9g

Nutritional values are approximate and may vary based on specific brands and exact ingredient measurements used.

Tips & Variations

Press your tofu thoroughly for the best texture. The single most important step in this recipe is removing as much water as possible from the tofu before marinating. Watery tofu leads to a soggy gratin. If you have a tofu press, use it for 30 minutes. Otherwise, the heavy-skillet method works well — just make sure to change the towel halfway through if it becomes saturated. Extra-firm or super-firm tofu yields the best results.

Maximize meal-prep storage life. This gratin stores beautifully in airtight containers in the refrigerator for up to 5 days. The coconut cream sauce solidifies when cold, which actually helps keep the zucchini from releasing too much moisture over time. To reheat, microwave individual portions for 2 to 3 minutes, or place in a 350°F (175°C) oven for 12 to 15 minutes until heated through. The crumble topping stays surprisingly crispy when reheated in the oven.

Watch out for hidden carbs in coconut cream. Not all canned coconut cream is created equal — some brands add sugar, guar gum, or other thickeners that increase the carb count. Always check the label and choose a brand with just coconut extract and water. The total carbs should be 1 to 2 grams per 1/4 cup serving. Brands like Aroy-D and Native Forest are typically reliable choices for keto.

Swap the walnuts for other keto-friendly nuts or seeds. If you prefer a different flavor or have a walnut allergy, pecans work beautifully in the crumble with their buttery sweetness. For a completely nut-free version, substitute a mix of raw pumpkin seeds and hemp hearts — you will get a slightly different texture but the same satisfying crunch and an even higher protein count.

Add umami depth with sun-dried tomatoes or olives. For a more robust Italian flavor without significantly increasing the carb count, tuck a few oil-packed sun-dried tomato strips or halved Kalamata olives between the layers. Use them sparingly — about 2 tablespoons of chopped sun-dried tomatoes adds roughly 1 gram of net carbs per serving, keeping you well within keto range while adding an incredible savory punch.

Frequently Asked Questions

Will this gratin keep me in ketosis with 9 grams of net carbs per serving?
Absolutely. Most people following a standard ketogenic diet aim for 20 to 30 grams of net carbs per day, with some stricter protocols targeting under 20 grams. At 9 grams of net carbs per serving, this gratin leaves you plenty of room for a small side salad with olive oil dressing or a handful of nuts earlier in the day. The high fat content from the coconut cream, coconut oil, and walnuts — totaling about 65 grams of fat per serving — provides excellent satiety and supports sustained ketone production. If you are following a very strict protocol and want to reduce carbs further, you can substitute half the zucchini with thinly sliced daikon radish, which has about 40 percent fewer net carbs.
Can I substitute the tofu with another plant-based protein?
Yes, tempeh is an excellent alternative and brings a nuttier, more complex flavor that pairs well with the Italian herbs. Cut it into thin slabs and marinate the same way. Tempeh is slightly higher in both protein and carbs than tofu, so your net carbs per serving may increase by about 1 to 2 grams. You could also use thick slices of portobello mushroom caps for a meatier texture, though the protein content will be lower. If you go the mushroom route, salt and drain them first for 15 minutes to prevent excess moisture in the gratin.
How should I store and reheat meal-prepped portions?
Let the gratin cool completely to room temperature before portioning into individual airtight containers — glass containers work best as they do not absorb odors and reheat evenly. Store in the refrigerator for up to 5 days. For best results, reheat in a 350°F (175°C) oven or toaster oven for 12 to 15 minutes; this re-crisps the walnut crumble topping. Microwave reheating works well in a pinch — just cover loosely and heat for 2 to 3 minutes, stirring halfway through. The gratin can also be frozen in individual portions for up to 2 months; thaw overnight in the refrigerator before reheating.
How can I adapt this for someone who is keto but not vegan?
This recipe is easily adaptable for lacto-ovo vegetarian keto. Replace the nutritional yeast with freshly grated Parmesan cheese for a more authentic Italian flavor — use the same quantities. You can also mix a beaten egg into the coconut cream sauce for extra richness and protein, which adds about 3 grams of protein per serving with negligible carbs. For the crumble topping, a tablespoon of grated Parmesan mixed into the walnut-coconut mixture creates an incredible crispy, cheesy crust. These additions boost the protein to around 22 grams per serving while keeping net carbs essentially the same.
My zucchini released a lot of water and the gratin is soupy — what went wrong?
Zucchini is naturally high in water content, which is the most common challenge with any zucchini-based bake. There are three key prevention steps: first, salt your zucchini slices and let them sit on a towel for 10 to 15 minutes, then pat them very dry before layering. Second, avoid slicing them too thin — 1/4-inch rounds hold their structure better than paper-thin slices. Third, do not cover the gratin while baking, as the open top allows steam to escape. If your finished gratin is still a bit saucy, simply let it rest for a full 15 minutes before serving; the coconut cream sauce will thicken considerably as it cools. For future batches, you can also lightly roast the zucchini rounds at 400°F for 10 minutes before assembling to drive out extra moisture.