Picture this: golden-seared tofu nestled in a pool of smoky, rust-colored coconut harissa sauce, studded with briny kalamata olives and draped with just-wilted baby spinach. Every bite delivers the rich heat of North African harissa tempered by velvety coconut cream — a combination that sounds unexpected but tastes absolutely right. This is the kind of deeply satisfying weeknight dinner that makes you forget you are eating low-carb, and it all comes together in a single skillet.
With 37 grams of fat and only 6 grams of net carbs per generous serving, this dish lands squarely in the keto sweet spot. The coconut cream and coconut oil provide a steady stream of medium-chain triglycerides, while the tofu adds plant-based protein without dragging up the carb count. Fat accounts for roughly 78% of the total calories here, making it one of the most genuinely ketogenic vegan dinners you can throw together on a busy evening.
Beyond the macros, this recipe is a practical dream. One skillet, 35 minutes start to finish, and almost zero prep — just press and cube the tofu, open a can of coconut cream, and measure your spices. It reheats beautifully the next day, so it doubles as a meal-prep champion. Serve it as-is or spoon it over a bowl of cauliflower rice for an even heartier plate.
Ingredients (serves 4)
For the crispy tofu:
- 1 block (14 oz / 400g) extra-firm tofu, pressed and cut into 3/4-inch cubes
- 2 tablespoons (30ml) coconut oil
- 1/2 teaspoon fine sea salt
- 1/4 teaspoon ground black pepper
For the coconut harissa sauce:
- 1 can (13.5 oz / 400ml) full-fat coconut cream
- 2 tablespoons (30g) harissa paste (check label for vegan — most are)
- 2 tablespoons (30ml) extra-virgin olive oil
- 3 cloves garlic, minced
- 1 teaspoon ground cumin
- 1/2 teaspoon smoked paprika
- 1/2 teaspoon ground coriander
- 1/4 teaspoon ground turmeric
- Juice of 1/2 lemon (about 1 tablespoon / 15ml)
- 1/2 teaspoon fine sea salt, or to taste
For the finish:
- 1/3 cup (50g) kalamata olives, halved and pitted
- 4 cups (120g) baby spinach, loosely packed
- 2 tablespoons (10g) unsweetened shredded coconut, toasted
- Fresh flat-leaf parsley, roughly chopped, for garnish
- Red pepper flakes, for serving (optional)
Instructions
Press the tofu. Wrap the tofu block in a clean kitchen towel or several layers of paper towel. Place a heavy skillet or cutting board on top and let it press for at least 10 minutes to remove excess moisture. This step is essential for achieving a crispy sear rather than a soggy stew. Once pressed, cut the tofu into 3/4-inch cubes and pat dry once more.
Sear the tofu. Heat the coconut oil in a large 12-inch skillet over medium-high heat until it shimmers. Arrange the tofu cubes in a single layer — do not crowd the pan. Season with the salt and pepper. Cook undisturbed for 3 to 4 minutes until the bottoms turn deep golden brown, then flip and sear the opposite side for another 3 minutes. Transfer the tofu to a plate and set aside. Leave any browned bits in the skillet — that is flavor.
Build the aromatics. Reduce the heat to medium. Add the olive oil to the same skillet. Once warm, add the minced garlic and cook for 30 seconds, stirring constantly, until fragrant but not browned. Stir in the cumin, smoked paprika, ground coriander, and turmeric. Toast the spices in the oil for about 30 seconds — you will smell them bloom and the mixture will turn a gorgeous deep amber.
Add the harissa and coconut cream. Stir the harissa paste into the spiced oil until it dissolves, about 15 seconds. Pour in the full can of coconut cream and stir well, scraping up any browned bits from the bottom of the skillet. Bring the sauce to a gentle simmer and let it cook for 5 to 6 minutes, stirring occasionally, until it thickens slightly and the color deepens to a warm terracotta. Add the salt and lemon juice, then taste and adjust the seasoning.
Return the tofu and add the olives. Nestle the seared tofu cubes back into the sauce and scatter the halved kalamata olives throughout. Spoon the sauce over the tofu so every piece is coated. Simmer together for 3 to 4 minutes to let the tofu absorb some of the flavor.
Wilt the spinach. Add the baby spinach in two batches, folding it gently into the sauce with tongs or a spatula. The first batch will wilt in about 30 seconds, making room for the second. Once all the spinach is just wilted and vibrant green — about 1 to 2 minutes total — remove the skillet from the heat.
Garnish and serve. Sprinkle the toasted shredded coconut and chopped parsley over the top. Add a pinch of red pepper flakes if you like extra heat. Serve immediately straight from the skillet, or spoon over cauliflower rice for a more filling meal.
Nutrition per Serving
| Nutrient | Amount |
|---|---|
| Calories | ~425 kcal |
| Fat | ~37g |
| Protein | ~13g |
| Total Carbs | ~8g |
| Fiber | ~2g |
| Net Carbs | ~6g |
Nutrition values are approximate and based on the stated ingredients and serving sizes. Actual values may vary depending on specific product brands.
Tips & Variations
Toast the coconut properly. Spread the shredded coconut in a dry skillet over medium-low heat and stir constantly for 2 to 3 minutes until it turns golden and fragrant. Toasted coconut burns fast, so do not walk away. You can toast a larger batch and store extras in an airtight jar for up to two weeks.
Choose the right harissa. Harissa paste varies wildly in heat and ingredients between brands. Rose harissa adds a floral note that pairs beautifully with the coconut cream, while Tunisian-style harissa brings more smoky depth. Always check the label — most harissa is naturally vegan, but a few brands add non-vegan thickeners or preservatives.
Watch for hidden carbs in canned coconut cream. Some brands add sugar, guar gum, or stabilizers that can sneak extra carbs into your meal. Look for cans with just coconut extract and water on the ingredient list. Full-fat coconut cream with 20 to 24 grams of fat per 100ml is ideal for keto.
Make it a meal-prep powerhouse. This dish stores beautifully in airtight containers in the refrigerator for up to 4 days. The sauce thickens as it cools, which is perfect — it reheats on the stovetop over medium-low heat in about 5 minutes. Add a fresh squeeze of lemon and a sprinkle of parsley after reheating to brighten it back up. The spinach softens further but still tastes great.
Swap the greens to change the vibe. Baby kale holds up better than spinach if you are meal prepping and dislike softer greens on day two. Chopped Swiss chard works well too and adds a slightly earthy flavor that complements the harissa. For a completely different direction, stir in a handful of roughly chopped artichoke hearts (jarred in oil, drained) along with the olives for a heartier Mediterranean feel.