Imagine spooning into a bowl of golden cauliflower rice drenched in a smoky, creamy coconut chipotle sauce, studded with crispy-edged tofu and bright pops of poblano pepper. This one-skillet wonder brings the bold, layered flavors of Mexican cooking — cumin, lime, chipotle, and cilantro — together with the luxurious richness of full-fat coconut cream. Every bite delivers that perfect balance of smoky heat, tangy citrus, and velvety coconut that keeps you reaching for more. It is comfort food reimagined for the vegan keto table, and it tastes far more indulgent than its macros suggest.

With 41 grams of fat and only 5 grams of net carbs per generous serving, this dish hits the keto sweet spot. The fat comes from whole-food sources — coconut cream, coconut oil, avocado, and tofu — giving you sustained energy without any processed ingredients. At 14 grams of plant-based protein per serving, it rounds out a satisfying lunch that keeps you fueled through the afternoon.

Best of all, everything cooks in a single skillet in under 30 minutes, making it an ideal weekday lunch. The leftovers reheat beautifully, so you can batch-cook on Sunday and have three more lunches ready to grab from the fridge. Pack it in a container with a wedge of lime and a few slices of avocado on the side, and you have a meal-prep winner that tastes just as good on Thursday as it did on Monday.

Ingredients (serves 4)

For the chipotle coconut sauce:

  • 1 can (13.5 oz / 400ml) full-fat coconut cream
  • 1 tablespoon chipotle peppers in adobo sauce, finely minced
  • 1 teaspoon ground cumin
  • 1/2 teaspoon smoked paprika
  • 1/2 teaspoon garlic powder
  • Juice of 1 lime (about 2 tablespoons / 30ml)
  • 1/2 teaspoon fine sea salt

For the skillet:

  • 3 tablespoons (45ml) coconut oil
  • 14 oz (400g) extra-firm tofu, drained, pressed, and cut into 3/4-inch cubes
  • 1 medium poblano pepper, seeded and diced (about 3/4 cup / 115g)
  • 2 cloves garlic, minced
  • 4 cups (450g) riced cauliflower (fresh or frozen and thawed)
  • 2 tablespoons (10g) unsweetened shredded coconut

For topping:

  • 1 large ripe avocado, sliced
  • 3 tablespoons (30g) raw pepitas (pumpkin seeds)
  • Fresh cilantro, roughly chopped
  • Lime wedges for serving
  • Pinch of flaky sea salt

Instructions

  1. Prepare the sauce. In a small bowl, whisk together the coconut cream, minced chipotle peppers, cumin, smoked paprika, garlic powder, lime juice, and salt until smooth. Set aside. If your coconut cream has separated in the can, give it a vigorous stir or brief whisk first to combine the solids and liquid.

  2. Press and cube the tofu. If you have not already pressed your tofu, wrap the block in a clean kitchen towel and place a heavy skillet or cutting board on top for at least 10 minutes. This step removes excess moisture and ensures crispy edges. Cut the pressed tofu into even 3/4-inch cubes.

  3. Crisp the tofu. Heat 2 tablespoons of the coconut oil in a large 12-inch skillet over medium-high heat until it shimmers, about 90 seconds. Add the tofu cubes in a single layer, leaving space between them. Cook undisturbed for 3 to 4 minutes until the bottoms are deep golden and crispy. Flip and cook for another 2 to 3 minutes until golden on the second side. Transfer the tofu to a plate and set aside.

  4. Sauté the poblano and garlic. Add the remaining 1 tablespoon of coconut oil to the same skillet over medium heat. Add the diced poblano pepper and cook for 2 to 3 minutes, stirring occasionally, until slightly softened and just beginning to char at the edges. Add the minced garlic and stir for 30 seconds until fragrant.

  5. Cook the cauliflower rice. Add the riced cauliflower to the skillet with the poblano. Stir to combine and cook for 3 to 4 minutes until the cauliflower is tender but not mushy. If using frozen cauliflower rice, you may need an extra minute to evaporate any residual moisture — listen for the sizzle to return before moving on.

  6. Add the sauce and tofu. Pour the chipotle coconut sauce over the cauliflower rice and stir to coat everything evenly. Gently fold the crispy tofu back into the skillet. Sprinkle the shredded coconut over the top. Reduce heat to medium-low and simmer for 2 to 3 minutes, stirring gently once or twice, until the sauce thickens slightly and clings to the cauliflower and tofu.

  7. Serve. Divide the skillet mixture among four bowls. Top each with sliced avocado, a scattering of pepitas, fresh cilantro, and a pinch of flaky sea salt. Serve with lime wedges on the side for squeezing over the top.

Nutrition per Serving

Nutrient Amount
Calories ~465 kcal
Fat ~41g
Protein ~14g
Total Carbs ~9g
Fiber ~4g
Net Carbs ~5g

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

Tips & Variations

Press your tofu thoroughly for the best texture. The crispiness of the tofu makes or breaks this dish. If you are short on time, wrap the tofu block in paper towels and microwave for 2 minutes — this rapidly expels moisture. For even crispier results, freeze and thaw the tofu before pressing, which changes the internal structure and creates a chewier, more absorbent texture that crisps up beautifully.

Adjust the chipotle heat to your preference. Chipotle peppers in adobo vary in heat between brands. Start with 1 tablespoon of the minced pepper for moderate heat. For a milder version, use just 1 teaspoon and add a bit more of the adobo sauce for smoky flavor without as much spice. Always check the label on your adobo sauce — some brands add sugar, which can sneak in extra carbs. Look for brands with 1g or less of sugar per tablespoon.

Make it a meal-prep powerhouse. Store the cauliflower rice and tofu mixture in airtight containers in the fridge for up to 4 days. Keep the avocado, pepitas, and cilantro separate and add them fresh when serving. To reheat, microwave for 90 seconds or warm in a skillet over medium heat with a splash of water to loosen the sauce.

Swap the cauliflower rice for other low-carb bases. Finely diced zucchini, hemp heart "rice," or shredded cabbage all work well in place of cauliflower rice while keeping net carbs low. Shredded cabbage adds a pleasant crunch and holds the sauce nicely, though it will need an extra minute or two of cooking time.

Toast the shredded coconut for deeper flavor. For an extra layer of nuttiness, dry-toast the shredded coconut in the skillet for 1 to 2 minutes before starting the recipe, stirring constantly until golden. Set it aside and sprinkle it over the finished dish instead of simmering it in the sauce. Toasted coconut adds a satisfying crunch that contrasts beautifully with the creamy sauce.

Frequently Asked Questions

Is this recipe truly keto-compliant at only 5g net carbs?
Yes, this recipe clocks in at approximately 5 grams of net carbs per serving, well within the typical keto threshold of under 10 grams per meal. The bulk of the carbohydrates come from the cauliflower rice and poblano pepper, both of which are naturally low in digestible carbs and high in fiber. The coconut cream and coconut oil contribute almost entirely fat with negligible carbs. To keep carbs as low as possible, make sure you are using unsweetened shredded coconut (some sweetened varieties add 5 or more grams of sugar per tablespoon) and check the label on your chipotle peppers in adobo for added sugars.
Can I use coconut milk instead of coconut cream?
You can, but the sauce will be thinner and less rich. Full-fat coconut cream has roughly twice the fat content of coconut milk, which is what gives this dish its luxurious, clinging sauce. If you only have canned coconut milk, refrigerate it overnight and scoop out just the thick, solidified cream from the top of the can — this approximates coconut cream. Discard the watery liquid or save it for smoothies. Avoid the carton-style coconut milk sold as a dairy alternative, as it is far too thin and often contains added gums and sweeteners.
How do I store and reheat leftovers?
Store the cooked cauliflower rice and tofu mixture in airtight glass or BPA-free containers in the refrigerator for up to 4 days. Keep toppings — avocado, pepitas, cilantro, and lime — separate and add them fresh at serving time to preserve their texture and color. Reheat individual portions in the microwave for 60 to 90 seconds, or warm them in a skillet over medium heat for 3 to 4 minutes. Add a tablespoon of water or a splash of coconut cream while reheating if the sauce has thickened too much overnight. This dish does not freeze particularly well, as the cauliflower rice becomes waterlogged upon thawing.
What can I use instead of tofu for a different plant protein?
Tempeh is the best substitute — cut it into cubes and pan-fry exactly as you would the tofu. Tempeh has a nuttier, firmer texture and slightly higher protein content, though it also adds a couple more grams of net carbs per serving. Hemp tofu, if available, is another excellent option that is higher in fat and omega-3s. You could also skip the protein block entirely and add a generous portion of pepitas or hulled hemp hearts for a seed-based protein boost. If you follow lacto-vegetarian keto rather than strict vegan keto, cubed halloumi or paneer would be delicious here as well.
My tofu is not getting crispy — what am I doing wrong?
The three most common culprits are insufficient pressing, overcrowding the skillet, and moving the tofu too soon. First, make sure you press the tofu for at least 10 minutes with firm, even pressure — you should see a noticeable amount of liquid drain out. Second, leave space between each cube in the skillet so steam can escape rather than building up and steaming the tofu. Cook in two batches if your skillet is smaller than 12 inches. Third, resist the urge to flip too early. Let the tofu sit undisturbed for a full 3 to 4 minutes. When it is ready to flip, it will release easily from the pan. If it sticks, it needs more time.