Imagine cracking into a perfectly pan-fried egg nestled in a velvety, warmly spiced masala gravy alongside cubes of golden, crispy-edged paneer — that is exactly what this one-skillet dinner delivers. The sauce is a luscious blend of ghee, ginger, garlic, tomato, and aromatic whole spices, finished with a swirl of heavy cream that makes every bite feel like something from an Indian restaurant. The eggs cook gently right in the simmering sauce, their edges lightly set while the yolks stay gloriously runny, ready to be scooped up with a spoon or a piece of keto garlic naan.

With 34 grams of fat and only 4 grams of net carbs per serving, this egg masala hits the ideal ketogenic macro ratio without any tricks or unusual ingredients. The generous use of ghee and heavy cream provides sustained energy and deep satisfaction, while eggs and paneer together deliver 22 grams of complete protein — making this far more than a light egg dish. It is a proper, filling dinner that keeps you comfortably in ketosis.

Best of all, the entire dish comes together in a single skillet in under 30 minutes. There is no boiling eggs separately, no blending sauces in a food processor, and no juggling multiple pots. You sear the paneer, build the masala, crack in the eggs, and dinner is served — with only one pan to wash afterward.

Ingredients (serves 4)

For the masala base:

  • 3 tablespoons (42g) ghee, divided
  • 6 ounces (170g) paneer, cut into 1/2-inch cubes
  • 1 teaspoon cumin seeds
  • 1 small green chili, slit lengthwise (or 1/4 teaspoon red chili flakes)
  • 1/4 cup (35g) finely diced yellow onion (about 1/4 small onion)
  • 1 tablespoon (6g) fresh ginger, finely grated
  • 3 cloves garlic, minced
  • 1 small Roma tomato (60g), finely chopped
  • 1/2 teaspoon ground turmeric
  • 1 teaspoon ground coriander
  • 1/2 teaspoon Kashmiri red chili powder (or paprika)
  • 1/2 teaspoon garam masala
  • 1/2 teaspoon salt, or to taste

For the eggs and finish:

  • 8 large eggs
  • 2 tablespoons (28g) unsalted butter
  • 1/3 cup (80ml) heavy whipping cream
  • 2 tablespoons fresh cilantro, roughly chopped
  • 1/4 teaspoon garam masala, for finishing

Instructions

  1. Sear the paneer. Heat 1 tablespoon of ghee in a large (12-inch) nonstick or cast-iron skillet over medium-high heat until it shimmers. Add the paneer cubes in a single layer and cook undisturbed for about 2 minutes per side, until deeply golden on two sides. Transfer the paneer to a plate and set aside. Do not wipe the skillet — those golden bits add flavor.

  2. Bloom the whole spices. Reduce the heat to medium and add the remaining 2 tablespoons of ghee to the same skillet. Once melted, add the cumin seeds and slit green chili. Let the cumin seeds sputter and darken for about 30 seconds, stirring constantly so they do not burn.

  3. Cook the aromatics. Add the diced onion and sauté for 2 to 3 minutes until it softens and turns translucent. Stir in the grated ginger and minced garlic and cook for another 30 seconds until fragrant.

  4. Build the masala. Add the chopped tomato along with the turmeric, ground coriander, Kashmiri chili powder, garam masala, and salt. Cook, stirring frequently, for 3 to 4 minutes until the tomato breaks down completely and the oil begins to separate from the masala around the edges. This step is critical — the raw spice taste disappears when the oil visibly separates.

  5. Add the cream and butter. Drop in the butter and pour in the heavy cream. Stir to combine and let the sauce simmer gently for 1 to 2 minutes until it thickens slightly and turns a rich, creamy orange color. If the sauce looks too thick, add 2 tablespoons of water.

  6. Return the paneer. Nestle the seared paneer cubes back into the sauce, distributing them evenly across the skillet. Gently stir to coat each piece in the masala.

  7. Crack in the eggs. Using the back of a spoon, create 8 small wells in the sauce. Crack one egg into each well, spacing them as evenly as possible. Season the eggs lightly with a pinch of salt. Cover the skillet with a lid (or a baking sheet if you do not have a lid that fits) and reduce the heat to medium-low.

  8. Cook until set. Let the eggs cook covered for 5 to 7 minutes. Check at the 5-minute mark — the whites should be fully opaque and set, while the yolks remain soft and jiggly. For firmer yolks, continue cooking for an additional 1 to 2 minutes. Remove the skillet from the heat immediately once the eggs reach your desired doneness, as residual heat will continue to cook them.

  9. Finish and serve. Sprinkle the finishing garam masala and chopped cilantro over the top. Serve the egg masala directly from the skillet, giving each person two eggs with a generous scoop of paneer and sauce. This pairs beautifully with cauliflower rice or a piece of keto garlic naan.

Nutrition per Serving

Nutrient Amount
Calories ~418 kcal
Fat ~34g
Protein ~22g
Total Carbs ~5g
Fiber ~1g
Net Carbs ~4g

Nutrition values are approximate and based on the specific ingredients and amounts listed. Actual values may vary depending on brands and exact measurements.

Tips & Variations

Use full-fat paneer for maximum richness. Store-bought paneer works perfectly here, but look for blocks labeled "full fat" rather than low-fat versions. Low-fat paneer not only undermines your keto macros but also crumbles more easily when seared and does not develop that signature golden crust. If you make paneer at home, use whole milk and full-fat yogurt for the best texture.

Control the heat to your liking. This recipe is mildly spiced as written, allowing the buttery masala flavors to shine through. To turn up the heat, add an extra green chili or stir in 1/2 teaspoon of cayenne pepper with the ground spices. For a smoky depth, swap the Kashmiri chili powder for smoked paprika — it adds warmth without significant heat.

Watch your onion and tomato quantities carefully. Onion and tomato are where hidden carbs sneak into Indian cooking. This recipe uses a minimal amount of each — just enough to build authentic masala flavor. Resist the temptation to add more tomato for a saucier consistency; instead, add a splash of water or extra cream to thin the sauce without increasing the carb count.

Store and reheat with care. Leftovers keep well in an airtight container in the refrigerator for up to 2 days. Reheat gently in a skillet over low heat with a tablespoon of water, covering the pan so the eggs warm through without overcooking. The yolks will firm up during storage, so this works best if you prefer fully-set yolks. Avoid microwaving, as eggs can become rubbery.

Turn this into a meal-prep egg bake. If you prefer a hands-off approach, build the masala in an oven-safe skillet, crack the eggs on top, and bake uncovered at 375°F (190°C) for 12 to 15 minutes. This method is especially useful when doubling the recipe. You can also pour the finished masala into muffin tins, crack an egg into each cup, and bake for individually portioned servings.

Frequently Asked Questions

How does this dish fit into a standard keto day of eating?
With only 4 grams of net carbs per serving, this egg masala leaves you plenty of carb budget for the rest of the day. A typical ketogenic diet allows 20 to 25 grams of net carbs daily, so this dinner uses less than a quarter of that allowance. Pair it with a simple side salad dressed in olive oil for lunch and a fat-heavy coffee or smoothie for breakfast, and you will stay well within your macros. The 34 grams of fat per serving also help you hit your daily fat target without needing to add extra fat bombs or supplements.
Can I substitute tofu for the paneer to make this dairy-free?
Yes, extra-firm tofu makes an excellent swap. Press the tofu for at least 15 minutes to remove excess moisture, then cube and sear it in the ghee exactly as you would the paneer — it will develop a similarly crispy exterior. To replace the heavy cream, use full-fat coconut cream, which adds richness and complements the Indian spice profile beautifully. Swap the ghee for coconut oil and the butter for additional coconut oil, and you will have a fully dairy-free version with a comparable fat content and only slightly different flavor.
Can I make the masala sauce ahead of time?
Absolutely — the masala base is an ideal make-ahead component. Prepare the sauce through step 5, let it cool, and store it in an airtight container in the refrigerator for up to 3 days. When you are ready to eat, reheat the sauce in the skillet over medium heat until it simmers, return the paneer, and then crack the eggs directly into the warmed sauce. This way you get a freshly cooked egg dinner in under 10 minutes on busy weeknights. The sauce also freezes well for up to one month — thaw it overnight in the refrigerator before reheating.
How can I adapt this for a vegan keto diet?
Replace the eggs with a crumbled firm tofu scramble seasoned with black salt (kala namak), which gives it a remarkably egg-like sulfurous flavor. Use the tofu substitution mentioned above in place of paneer, swap ghee and butter for coconut oil, and use coconut cream instead of heavy cream. The macros will shift slightly — tofu is lower in fat and higher in protein than eggs — so you may want to drizzle extra coconut oil over the finished dish to keep the fat ratio in the keto-friendly range. The spice profile and cooking method remain exactly the same.
My eggs always overcook in the sauce — how do I keep the yolks runny?
The key is controlling your heat and timing precisely. Make sure you reduce the burner to medium-low before covering the skillet — too much heat will set the yolks before the whites are fully cooked. Start checking at exactly 5 minutes by lifting the lid and gently jiggling the pan. The whites should be opaque and firm, while the yolks should wobble like jelly. Remove the skillet from the heat about 30 seconds before the eggs look perfectly done, because the residual heat from the cast iron or heavy pan will continue cooking them. If you consistently struggle with runny whites, try covering the pan for just 3 minutes, then removing the lid and placing the skillet under a broiler for 60 to 90 seconds to set the tops without overcooking the yolks.