Golden, crispy crumbles of tempeh tangled in a garlicky tomato-cream sauce, ribbons of tender zucchini noodles catching every drop, and a thick blanket of melted mozzarella pulling into long, satisfying strings as you lift your fork. This one-skillet Italian tempeh ragù delivers all the soul-warming comfort of a classic Sunday pasta with none of the carb guilt. The tempeh browns into deeply savory, almost sausage-like morsels that soak up the rich parmesan cream, and the whole thing comes together faster than you can preheat a conventional oven.

Every serving packs 42 grams of fat and only 9 grams of net carbs, placing this firmly in keto territory without any tricks or exotic ingredients. The combination of butter, olive oil, heavy cream, and two Italian cheeses delivers that high-fat ratio your body needs for clean ketosis, while the tempeh pulls its weight with 22 grams of protein per serving. This is the kind of dinner that makes keto feel effortless rather than restrictive.

Because everything happens in a single skillet from start to finish, cleanup is blissfully minimal. Brown the tempeh, build the sauce, toss in the zoodles, melt the cheese, and you are eating in 25 minutes flat. It holds up beautifully for leftovers too, so double the batch on a Sunday and your weeknight dinners are sorted.

Ingredients (serves 4)

For the tempeh ragù:

  • 8 oz (227g) tempeh, crumbled into small pieces
  • 2 tablespoons (30ml) extra-virgin olive oil
  • 2 tablespoons (28g) unsalted butter
  • 3 cloves garlic, minced
  • 1/3 cup (80ml) crushed tomatoes (no sugar added)
  • 1/2 cup (120ml) heavy whipping cream
  • 1/3 cup (30g) finely grated Parmigiano-Reggiano
  • 1 teaspoon dried Italian seasoning
  • 1/2 teaspoon red pepper flakes
  • 1/2 teaspoon fine sea salt
  • 1/4 teaspoon freshly ground black pepper

For the zucchini noodles:

  • 2 medium zucchini (about 14 oz / 400g total), spiralized
  • 1 tablespoon (15ml) extra-virgin olive oil

For topping:

  • 1 cup (4 oz / 113g) shredded low-moisture mozzarella
  • 8 to 10 fresh basil leaves, torn

Instructions

  1. Crumble the tempeh. Break the tempeh block into rough, small pieces using your hands or the back of a fork. You want uneven, bite-sized crumbles about the size of large breadcrumbs to small grapes. Irregular shapes create more surface area for browning, which is where all the flavor develops.

  2. Brown the tempeh. Heat the olive oil and butter in a large 12-inch (30cm) oven-safe skillet over medium-high heat until the butter foams. Add the crumbled tempeh in a single layer and sprinkle the Italian seasoning, red pepper flakes, salt, and black pepper over the top. Cook without stirring for 2 minutes to let the bottom sides develop a golden crust, then toss and continue cooking for another 3 minutes until the crumbles are deeply bronzed and fragrant.

  3. Build the sauce. Push the tempeh to the edges of the skillet and drop the minced garlic into the center. Stir the garlic in the open space for 30 seconds until it turns pale gold and smells nutty. Add the crushed tomatoes and stir everything together, scraping up any browned bits stuck to the pan. Let the tomatoes cook down for about 1 minute until they darken slightly and the raw edge cooks off.

  4. Add the cream and parmesan. Pour in the heavy cream and stir to combine. Bring the mixture to a gentle simmer, then scatter the grated parmesan into the sauce. Stir continuously for about 1 to 2 minutes as the cheese melts and the sauce thickens into a creamy, clinging consistency that coats the back of a spoon. Reduce the heat to medium-low.

  5. Toss in the zoodles. Add the spiralized zucchini and the remaining tablespoon of olive oil directly to the skillet. Use tongs to gently fold the noodles into the ragù, lifting and turning them until every strand is coated in sauce. Cook for just 2 minutes. You want the zucchini to soften slightly while staying tender-crisp. Overcooking will release water and thin out the sauce.

  6. Melt the mozzarella. Distribute the shredded mozzarella evenly over the top of the skillet. Cover with a tight-fitting lid and cook on medium-low heat for 2 to 3 minutes until the cheese is fully melted and bubbly. Alternatively, if your skillet is oven-safe, slide it under a hot broiler set to high for 90 seconds to get golden-brown spots on the cheese.

  7. Finish and serve. Remove from heat and scatter the torn basil leaves over the melted cheese. Let the skillet rest for 2 minutes before serving. This brief rest allows the sauce to tighten up slightly so it clings to the noodles rather than pooling on the plate. Serve directly from the skillet with a large spoon, making sure to scoop from the bottom to get a good balance of zoodles, ragù, and cheese in every portion.

Nutrition per Serving

Nutrient Amount
Calories ~485 kcal
Fat ~42g
Protein ~22g
Total Carbs ~11g
Fiber ~2g
Net Carbs ~9g

Nutritional values are approximate and based on the stated ingredients. Actual values may vary depending on specific brands used, especially for tempeh and crushed tomatoes.

Tips & Variations

Get the tempeh extra crispy. The secret to great tempeh ragù is patience during the browning step. Resist the urge to stir constantly. Let the crumbles sit undisturbed against the hot skillet surface to develop a real crust. That Maillard browning is what transforms mild tempeh into something savory and almost meaty. If your pan is overcrowded, brown the tempeh in two batches.

Choose your crushed tomatoes carefully. Many canned tomato products sneak in added sugar, citric acid concentrates, or even corn syrup. Read labels closely and look for brands that list only tomatoes and salt. Muir Glen, Cento, and San Marzano-style whole peeled tomatoes that you crush by hand are the safest options for staying keto. Even a tablespoon of hidden sugar across the can adds unnecessary carbs.

Spiralize ahead for faster weeknight cooking. You can spiralize the zucchini up to two days in advance. Store the noodles in a single layer between paper towels inside an airtight container in the fridge. The paper towels wick away moisture, which means less water released into the hot skillet and a creamier final sauce. Pat them dry one more time before adding them to the pan.

Swap the zoodles for other low-carb bases. If zucchini noodles are not your thing, this ragù works beautifully spooned over roasted eggplant rounds, steamed cauliflower florets, or even raw baby spinach that wilts under the heat of the sauce. Hearts of palm noodles are another excellent keto-friendly pasta alternative that hold their shape well in a hearty skillet dish like this.

Scale the fat up or down to hit your macros. If you need more fat in your day, finish each serving with an extra drizzle of good olive oil or a small knob of butter stirred into the hot ragù. If you are already fat-adapted and running a slight caloric deficit, reduce the butter to one tablespoon and use only two tablespoons of olive oil total. The sauce will still be creamy thanks to the heavy cream and melted cheeses.

Frequently Asked Questions

Is tempeh really keto-friendly with its carb count?
Tempeh does contain more carbohydrates than some other keto protein sources like eggs or cheese, which is why portion control matters. An 8-ounce block split among four servings contributes roughly 5 grams of net carbs per person, which is manageable within a standard 20-gram daily net carb budget. The trade-off is worth it because tempeh brings substantial plant-based protein, a satisfying chewy texture, and gut-friendly probiotics from fermentation. If you are eating very strict keto under 15 grams net carbs per day, reduce the tempeh to 6 ounces and add an extra tablespoon of butter to compensate for the lost volume.
Can I use a different cheese instead of mozzarella or parmesan?
Absolutely. Fontina melts beautifully and adds a slightly nutty, earthy flavor that works well with the Italian seasonings. Provolone is another great option for the melted topping, giving you a sharper, smokier bite. For the sauce, Pecorino Romano can replace the parmesan and delivers a more assertive, salty punch. Gruyère works as a topping too if you want something richer. Just avoid pre-shredded cheese blends that contain potato starch or cellulose as anti-caking agents, since those add hidden carbs.
How do I store leftovers and reheat them without soggy zoodles?
Store leftovers in an airtight container in the refrigerator for up to three days. The zucchini noodles will release some liquid overnight, which is normal. When you are ready to reheat, pour off any pooled liquid from the container first. Reheat in a skillet over medium heat rather than the microwave. The direct contact with the hot pan re-crisps the tempeh crumbles slightly and evaporates excess moisture from the zoodles. Add a splash of heavy cream while reheating to refresh the sauce and bring back its silky texture.
How can I make this dairy-free for vegan keto?
Replace the butter with an equal amount of extra-virgin olive oil or coconut oil. Swap the heavy cream for full-fat coconut cream, which gives a similarly rich body to the sauce. For the parmesan in the sauce, use 3 tablespoons of nutritional yeast blended with 1 tablespoon of hemp hearts for that savory, cheesy depth. Top with a vegan mozzarella that melts well, or skip the melted cheese entirely and finish with a generous handful of toasted pine nuts and a drizzle of high-quality olive oil for richness. The net carb count stays nearly identical with these swaps.
Why does my tempeh taste bitter and how do I prevent that?
Some people find that tempeh has a faintly bitter or funky edge, especially certain brands or varieties made with mixed grains. The simplest fix is to steam the whole block for 10 minutes before crumbling. Place it on a steamer basket over simmering water, cover, and let the steam mellow out those sharper fermentation flavors. Drain well and pat dry before adding it to the hot skillet. The browning step in this recipe also helps enormously because the Maillard reaction converts those bitter compounds into deep, savory, caramelized flavors. Make sure your skillet is properly hot before the tempeh goes in, and do not skip the undisturbed browning time.