Imagine a golden, velvety curry that tastes like it came from a Tokyo neighborhood restaurant — warmly spiced, impossibly creamy, with shatteringly crisp tofu and bright, sesame-kissed greens nestled on top. These Japanese Coconut Curry Tofu Bowls bring together the gentle sweetness of coconut cream, the earthy depth of yellow curry powder, and a whisper of fresh ginger into a bowl that feels deeply comforting without a single grain of rice in sight. Every spoonful delivers layers of umami from tamari and toasted sesame oil, balanced by the subtle heat of white pepper and a squeeze of lime.

The macro profile here is exactly what a vegan keto dinner should look like: 35 grams of fat per serving (mostly from coconut cream and coconut oil), a solid 20 grams of plant-based protein from extra-firm tofu, and just 6 grams of net carbs. With fat accounting for over 70% of the calories, this bowl keeps you deep in ketosis while feeling anything but restrictive.

Best of all, this recipe is specifically engineered for batch cooking. The curry actually improves over 3 to 5 days as the flavors meld and deepen. Make the full pot on Sunday, portion it into containers, and you have satisfying weeknight dinners ready in minutes. The sesame greens store separately to stay crisp, giving you restaurant-quality texture even on day five.

Ingredients (serves 4)

For the coconut curry base:

  • 2 tablespoons (30ml) coconut oil
  • 4 cloves garlic, minced
  • 2-inch (5cm) piece fresh ginger, grated
  • 2 tablespoons (12g) yellow curry powder
  • 1/2 teaspoon white pepper
  • 1 can (13.5 oz / 400ml) full-fat coconut cream
  • 1/2 cup (120ml) vegetable broth
  • 2 tablespoons (30ml) tamari or coconut aminos
  • 1 tablespoon (15ml) rice vinegar (unseasoned)
  • 1/2 teaspoon sea salt

For the crispy tofu:

  • 28 oz (800g) extra-firm tofu, drained and pressed
  • 2 tablespoons (30ml) coconut oil
  • 2 tablespoons (14g) unsweetened shredded coconut
  • 1 tablespoon (15ml) tamari
  • 1/2 teaspoon garlic powder

For the sesame greens:

  • 4 cups (280g) baby bok choy, quartered lengthwise
  • 4 oz (115g) shiitake mushrooms, sliced
  • 1 tablespoon (15ml) toasted sesame oil
  • 1 tablespoon (8g) white sesame seeds
  • Pinch of sea salt

For garnish:

  • 2 tablespoons (14g) toasted unsweetened coconut flakes
  • 1 lime, cut into wedges
  • Fresh cilantro leaves (optional)

Instructions

  1. Press the tofu. Wrap the tofu blocks in a clean kitchen towel or several layers of paper towels. Place a heavy skillet or cutting board on top and let it press for at least 15 minutes. This step is critical — well-pressed tofu gets truly crispy. While the tofu presses, prep your garlic, ginger, bok choy, and mushrooms.

  2. Crisp the tofu. Cut the pressed tofu into 3/4-inch (2cm) cubes. Heat 2 tablespoons of coconut oil in a large nonstick skillet or well-seasoned cast iron pan over medium-high heat until the oil shimmers. Add the tofu cubes in a single layer — work in two batches if needed to avoid crowding. Cook undisturbed for 3 to 4 minutes until the bottoms turn deep golden brown. Flip and cook another 3 minutes. In the last minute, drizzle the tamari over the tofu and sprinkle on the garlic powder and shredded coconut, tossing gently to coat. Transfer to a plate and set aside.

  3. Build the curry base. In a large Dutch oven or heavy-bottomed pot, heat 2 tablespoons of coconut oil over medium heat. Add the minced garlic and grated ginger, stirring constantly for about 60 seconds until fragrant — do not let it brown. Add the yellow curry powder and white pepper, stirring for another 30 seconds until the spices bloom and the kitchen fills with a warm, toasty aroma.

  4. Add the liquids. Pour in the full can of coconut cream, vegetable broth, tamari, and rice vinegar. Stir well to combine, scraping up any spice bits from the bottom of the pot. Bring the mixture to a gentle simmer — you will see small bubbles breaking at the edges. Reduce heat to medium-low and let it simmer uncovered for 12 to 15 minutes, stirring occasionally, until the curry thickens slightly and reduces by about one-quarter. It should coat the back of a spoon. Season with sea salt to taste.

  5. Fold in the tofu. Gently add the crispy tofu cubes to the curry, folding them in with a spatula rather than stirring aggressively — this preserves their golden crust. Let everything simmer together for 3 to 4 minutes so the tofu absorbs some of the coconut curry flavor. Remove the pot from heat.

  6. Prepare the sesame greens. While the curry simmers, heat the toasted sesame oil in a separate skillet over medium-high heat. Add the sliced shiitake mushrooms and cook for 3 to 4 minutes until they release their moisture and begin to brown at the edges. Add the quartered bok choy, cut side down, and cook for 2 minutes until the leaves wilt slightly and the stems are tender-crisp. Sprinkle with sesame seeds and a pinch of salt. Toss briefly and remove from heat.

  7. Assemble and serve (or store). Divide the coconut curry tofu among four bowls. Top each with a generous portion of sesame greens. Garnish with toasted coconut flakes, a squeeze of fresh lime juice, and cilantro leaves if desired. For meal prep, see the storage tips below.

Nutrition per Serving

Nutrient Amount
Calories ~445 kcal
Fat ~35g
Protein ~20g
Total Carbs ~9g
Fiber ~3g
Net Carbs ~6g

Nutritional values are approximate and based on the stated ingredients and serving size of 4.

Tips & Variations

Meal-prep storage strategy. Store the coconut curry with tofu and the sesame greens in separate containers for the best texture and flavor. The curry keeps beautifully in the refrigerator for up to 5 days — it actually tastes better on day two as the spices bloom further. The sesame greens stay crisp and fresh for 3 to 4 days when stored separately. Reheat the curry gently on the stovetop or in the microwave, then top with the cold or briefly reheated greens just before eating.

Freeze for longer storage. The curry base (without the sesame greens) freezes exceptionally well for up to 3 months. Portion into freezer-safe containers, leaving a half inch of headroom for expansion. Thaw overnight in the refrigerator and reheat on the stovetop over low heat, adding a splash of vegetable broth if the sauce has thickened. Make the sesame greens fresh when you are ready to eat.

Watch for hidden carbs in curry powder. Not all yellow curry powders are created equal — some commercial blends contain added sugar, flour, or maltodextrin as fillers. Read the ingredient label carefully and choose a blend that lists only spices. Alternatively, make your own by combining equal parts turmeric, coriander, and cumin with smaller amounts of fenugreek, mustard powder, and cayenne. This keeps you in full control of your carb count.

Swap the greens to match the season. Bok choy works beautifully here, but you can substitute broccolini, chopped kale, or even thinly sliced zucchini depending on what is fresh and available. Just keep cooking times in mind — heartier greens like kale need an extra minute or two, while zucchini cooks in about 90 seconds. The net carb count stays comparable across these swaps.

Boost the heat for a spicier version. If you enjoy more warmth, stir in 1 teaspoon of sambal oelek or a finely minced Thai bird's eye chile when you add the garlic and ginger in step 3. You can also drizzle chili crisp oil over the finished bowls for a smoky, crunchy kick. Both additions are virtually zero carb and transform the dish into something with serious punch.

Frequently Asked Questions

How does this recipe fit into a strict keto macronutrient ratio?
Each serving delivers roughly 70% of its calories from fat, 18% from protein, and 12% from carbohydrates — well within the standard ketogenic ratio of 70-75% fat, 20% protein, and 5-10% carbs. The 6 grams of net carbs per serving leave you plenty of room within a typical 20 to 25 gram daily net carb budget to include low-carb vegetables, nuts, or seeds at other meals. The coconut cream and coconut oil provide the bulk of the fat, delivering healthy medium-chain triglycerides (MCTs) that your body converts to ketones efficiently.
Can I use coconut milk instead of coconut cream?
You can, but the result will be a thinner, less rich curry. Full-fat coconut cream typically contains 20 to 24% fat, while coconut milk runs about 13 to 15% fat. If you use coconut milk, simmer the curry for an extra 5 to 8 minutes to reduce it further, and consider adding an extra tablespoon of coconut oil to maintain the fat content needed for proper keto macros. Avoid light or reduced-fat coconut milk entirely, as it will not provide enough fat and often contains added thickeners and sugars.
How should I reheat meal-prepped portions for the best results?
The best method is stovetop reheating over medium-low heat for 4 to 5 minutes, stirring gently to avoid breaking up the tofu. Coconut cream can sometimes separate when reheated, so stir steadily until the sauce comes back together into a smooth, cohesive curry. If the sauce has thickened overnight, add 1 to 2 tablespoons of vegetable broth to loosen it. Microwave reheating works in a pinch — heat in 90-second intervals, stirring between each, for about 3 minutes total. Add the sesame greens cold or warm them separately for just 30 seconds so they retain their texture.
Is this recipe suitable for other plant-based keto approaches beyond vegan keto?
Absolutely. This recipe is already fully vegan keto — no eggs, dairy, or honey — making it the most inclusive version possible. If you follow a lacto-vegetarian keto diet and want to add richness, you could stir in a tablespoon of ghee at the end or top with crumbled feta for a salty contrast. For standard vegetarian keto, a soft-cooked egg on top adds protein and richness. The base recipe as written is completely free of all animal products, so it works across every vegetarian keto subtype without modification.
Why does my tofu never get crispy, and how can I fix it?
The number one reason for soft, soggy tofu is insufficient pressing. Tofu is packed in water, and that moisture must be removed before it can develop a crisp exterior. Press for a full 15 minutes with significant weight — a heavy cast iron skillet works perfectly. Second, make sure your pan and oil are properly hot before adding the tofu. You should hear an immediate, aggressive sizzle when the first cube hits the pan. Third, resist the urge to move the tofu around — let each side develop a golden crust for a full 3 to 4 minutes before flipping. Finally, do not overcrowd the pan. Cook in batches if necessary, giving each piece at least a half inch of space on all sides. Following these steps consistently will give you shatteringly crisp tofu every time.