Imagine biting into a crispy-edged cube of golden paneer coated in a sticky, umami-rich sesame-ginger glaze — nutty toasted sesame, sharp fresh ginger, and a whisper of chili heat all clinging to that perfectly seared exterior. Underneath, a bed of fluffy coconut cauliflower rice soaks up every drop of sauce, while tender bok choy adds a fresh, verdant crunch. This is the kind of dinner that makes you forget you are eating keto, because every single bite tastes like takeout — only better.

Each bowl delivers 34 grams of fat and just 6 grams of net carbs, making it an ideal macro split for ketogenic eating. The paneer provides a solid 22 grams of complete protein per serving, and the coconut cream stirred into the cauliflower rice pushes the fat ratio to a satisfying 73 percent of total calories. You get that deep satiety keto is known for without a single grain of rice or noodle in sight.

Best of all, this recipe is engineered for batch cooking. The entire meal — paneer, sauce, cauliflower rice, and vegetables — comes together in about 40 minutes and stores beautifully in the fridge for up to five days. Portion it into four containers on Sunday evening and you have dinner handled through Thursday. The flavors actually deepen overnight as the glaze melds with the paneer, so day-two leftovers might be the best bowl of the bunch.

Ingredients (serves 4)

For the sesame-ginger paneer:

  • 14 oz (400g) paneer, cut into 3/4-inch cubes
  • 2 tablespoons (30ml) avocado oil or coconut oil
  • 2 tablespoons (30ml) toasted sesame oil
  • 3 tablespoons (45ml) coconut aminos
  • 1 tablespoon (15ml) rice vinegar (unseasoned)
  • 1 tablespoon (6g) fresh ginger, finely grated
  • 3 cloves garlic, minced
  • 1/2 teaspoon red pepper flakes (adjust to taste)
  • 1 tablespoon (8g) toasted white sesame seeds

For the coconut cauliflower rice:

  • 1 medium head cauliflower, riced (about 4 cups / 480g)
  • 1/2 cup (120ml) full-fat coconut cream
  • 1 tablespoon (15ml) coconut oil
  • 1/2 teaspoon fine sea salt
  • 1/4 teaspoon white pepper

For the stir-fried bok choy:

  • 3 medium baby bok choy (about 10 oz / 280g), halved lengthwise
  • 1 tablespoon (15ml) avocado oil
  • 1 tablespoon (15ml) coconut aminos
  • 1 teaspoon toasted sesame oil

For garnish:

  • 2 scallions, thinly sliced
  • 1 tablespoon (8g) toasted sesame seeds
  • Chili oil or sriracha (optional)

Instructions

  1. Prepare the glaze. In a small bowl, whisk together the coconut aminos, rice vinegar, grated ginger, minced garlic, and red pepper flakes. Set aside. This takes just two minutes and allows the ginger and garlic to start releasing their oils into the liquid.

  2. Sear the paneer. Heat the avocado oil in a large nonstick skillet or well-seasoned cast iron pan over medium-high heat until the oil shimmers, about 2 minutes. Arrange the paneer cubes in a single layer — work in two batches if necessary to avoid crowding. Cook without moving for 2 to 3 minutes per side until deep golden brown on at least two sides. The paneer should develop a firm, lightly crispy crust while remaining soft and creamy inside. Transfer to a plate.

  3. Build the glaze in the pan. Reduce the heat to medium. Add the toasted sesame oil to the same skillet and pour in the ginger-garlic glaze mixture. It will sizzle immediately. Stir constantly for 60 to 90 seconds until the sauce reduces slightly and becomes fragrant — you will smell the toasted sesame and sharp ginger hit the air together. Return the seared paneer to the pan and toss gently to coat every cube. Cook for another minute, turning the cubes so the glaze clings and caramelizes onto the surface. Sprinkle with 1 tablespoon of sesame seeds, toss once more, and transfer the glazed paneer to a clean bowl.

  4. Make the coconut cauliflower rice. Wipe the skillet clean and return it to medium heat. Add the coconut oil and let it melt. Add the riced cauliflower and season with salt and white pepper. Stir-fry for 4 to 5 minutes until the cauliflower is just tender and any excess moisture has cooked off — you want it dry and fluffy, not soggy. Pour in the coconut cream and stir well, cooking for another 2 minutes until the cream is fully absorbed and the rice looks glossy and rich. Taste and adjust salt. Transfer to a large bowl.

  5. Stir-fry the bok choy. Return the skillet to high heat and add the avocado oil. When it shimmers, lay the bok choy halves cut-side down in the pan. Sear without moving for 2 minutes until the cut sides develop golden char marks. Flip and cook for 1 minute more, then drizzle with coconut aminos and sesame oil. Toss quickly — the leaves will wilt and the stems should remain crisp-tender. Remove from heat.

  6. Assemble the bowls. Divide the coconut cauliflower rice evenly among four meal-prep containers or serving bowls. Arrange the glazed paneer cubes on one side and the charred bok choy on the other. Scatter sliced scallions and toasted sesame seeds over the top. Drizzle with chili oil if you like extra heat.

  7. Store for the week. Let the bowls cool to room temperature, then seal the containers and refrigerate. The bowls keep well for up to 5 days. To reheat, microwave each container for 2 to 2.5 minutes, or warm the contents in a skillet over medium heat for 3 to 4 minutes with a splash of water to loosen the glaze.

Nutrition per Serving

Nutrient Amount
Calories ~418 kcal
Fat ~34g
Protein ~22g
Total Carbs ~9g
Fiber ~3g
Net Carbs ~6g

Nutrition is approximate and based on the stated ingredients and a 4-serving yield. Values may vary by brand of paneer and coconut cream used.

Tips & Variations

Get the crispiest paneer. Pat your paneer cubes thoroughly dry with paper towels before they hit the pan — surface moisture is the enemy of a good sear. If your paneer is very soft and fresh, freeze the cubes for 15 minutes first to firm them up. The goal is a golden, almost crackling exterior that holds the glaze without turning rubbery.

Swap the bok choy for other low-carb greens. Broccolini, Chinese broccoli (gai lan), or shredded Napa cabbage all work beautifully here. Keep the cooking time short — you want tender-crisp texture, not mush. Avoid starchy vegetables like water chestnuts or baby corn, which would spike the carb count significantly.

Watch for hidden carbs in store-bought sauces. Coconut aminos typically contain 1 gram of carbs per teaspoon, which is already factored into this recipe's macros. However, some brands add cane sugar or maple syrup. Check the label and choose a brand with zero added sugars. If you prefer tamari or soy sauce (not gluten-free), the carb count drops slightly but sodium rises.

Double the glaze for richer meal-prep bowls. When reheating batch-prepped meals, the sauce can dry out. Making a double batch of the sesame-ginger glaze and storing it separately in a small jar lets you refresh each bowl with a drizzle before reheating. The extra glaze keeps in the fridge for up to a week and adds negligible carbs.

Add a fat boost if your macros need it. For those targeting higher fat percentages — say 80 percent of calories from fat — stir an extra tablespoon of MCT oil or melted coconut oil into the cauliflower rice before portioning. You can also top each bowl with a few slices of avocado at serving time, which adds healthy fats, potassium, and fiber without meaningfully increasing net carbs.

Frequently Asked Questions

Is this recipe truly keto-friendly at only 6g net carbs?
Yes. The net carb count stays low because the base is cauliflower rice rather than white or brown rice, and the sauce relies on coconut aminos instead of sugar-heavy teriyaki or hoisin sauces. Paneer itself is very low in carbohydrates — roughly 1 to 2 grams per 100 grams depending on the brand. The bok choy is one of the lowest-carb vegetables available at under 1 gram of net carbs per cup. As long as you measure the coconut aminos and avoid adding honey or sugar to the glaze, this bowl fits comfortably within a standard 20-gram daily net carb limit.
Can I substitute tofu or halloumi for the paneer?
Absolutely. Extra-firm tofu, pressed for at least 30 minutes and cubed, will give you a lighter, slightly chewier texture — press it very well so the glaze adheres instead of sliding off. Halloumi works wonderfully too and brings its own salty, squeaky character. If you use halloumi, reduce the salt in the cauliflower rice by half since halloumi is much saltier than paneer. For a vegan version, use extra-firm tofu and swap the coconut cream for the same amount — it is already plant-based. The macros will shift slightly: tofu is lower in fat and calories than paneer, so you may want to add an extra tablespoon of sesame oil to compensate.
How long do these meal-prep bowls last, and what is the best way to reheat them?
The assembled bowls keep in airtight containers in the refrigerator for up to 5 days. Paneer holds up exceptionally well compared to tofu, which can become spongy over time. For reheating, the microwave works best — cover the container loosely and heat for 2 to 2.5 minutes, stirring halfway through. If you prefer a stovetop method, warm everything in a skillet over medium heat for 3 to 4 minutes, adding a tablespoon of water to revive the glaze. The bok choy will soften a bit after a few days in the fridge, but the flavor remains excellent. Do not freeze these bowls, as the cauliflower rice becomes watery upon thawing.
How can I make this dairy-free or vegan keto?
To make this fully vegan, replace the paneer with extra-firm tofu that has been pressed for at least 30 minutes. Cut it into the same sized cubes and follow the searing instructions exactly — tofu develops a lovely golden crust when the surface is dry. The coconut cauliflower rice is already dairy-free since it uses coconut cream, so no changes are needed there. The glaze is entirely plant-based as written. Your macros will shift to roughly 28 grams of fat and 16 grams of protein per serving with tofu, so consider adding a tablespoon of peanut butter or tahini to the glaze for extra fat and richness.
My paneer cubes are sticking to the pan and falling apart — what am I doing wrong?
This is almost always a heat or moisture issue. First, make sure your paneer is patted completely dry — even a thin film of water will cause sticking and splattering. Second, let your oil get properly hot before adding the cubes. You should see the oil shimmer and a small piece of paneer should sizzle immediately on contact. Third, resist the urge to move or flip the cubes too early. Give them a full 2 to 3 minutes undisturbed so the proteins set and release naturally from the pan. A nonstick skillet is the most forgiving option, but a well-seasoned cast iron pan produces the best crust. If your paneer is a very soft, fresh variety, it will always be more fragile — in that case, freezing the cubes for 15 minutes before searing firms them up enough to handle the high heat.