Ground Beef And Zucchini Skillet (Low-Carb)

Ground Beef And Zucchini Skillet (Low-Carb)

There’s a particular kind of quiet magic that happens on a Sunday afternoon when the rain taps gently at the window and the kitchen fills with the scent of garlic softening in oil. This Ground Beef and Zucchini Skillet is my favourite low-carb project for those lazy, slow-burning hours. It’s a one-pan affair that asks for nothing more than your full attention and a willingness to let the ingredients do their quiet, fragrant work.

Recipe Overview

  • Prep time: 15 minutes
  • Cooking time: 25 minutes
  • Total time: 40 minutes
  • Servings: 4 generous portions
  • Difficulty: Easy — just requires a little patience

Why You’ll Love This Ground Beef and Zucchini Skillet (Low-Carb)

  • It transforms simple, everyday vegetables into something deeply savoury and rich, with a texture that feels properly indulgent.
  • After testing this recipe five times, I finally got it just right — the zucchini holds its shape without turning to mush, and the beef develops a proper crust.
  • It’s a complete meal in one pan, meaning less washing up and more time curled up on the sofa afterwards.
  • The aromas that drift through your home as it cooks are genuinely therapeutic — think browned butter, thyme, and a gentle sweetness from the caramelised courgettes.
  • I’ve been making this for over 7 years, and it never disappoints — it’s become my go-to for welcoming friends who eat low-carb without making them feel like they’re missing out.
Ground Beef and Zucchini Skillet (Low-Carb)

Ground Beef and Zucchini Skillet (Low-Carb)
15 min prep  ·  30 min cook  ·  4 servings

📌Save to Pinterest

Ingredients You’ll Need

  • 500g beef mince (15-20% fat)
  • 3 medium courgettes (about 600g total)
  • 1 large onion (finely diced)
  • 4 cloves garlic (minced)
  • 2 tablespoons tomato puree
  • 200ml beef stock (unsalted)
  • 1 teaspoon dried thyme
  • 1 teaspoon smoked paprika
  • ½ teaspoon sea salt (plus more for courgettes)
  • ½ teaspoon black pepper
  • 3 tablespoons olive oil
  • 30g Parmesan cheese (finely grated)
  • Small handful of fresh parsley (chopped)

Tip: Choose courgettes that feel firm and heavy for their size — they contain less water and will hold up better during cooking without releasing too much liquid into the pan.

How to Make Ground Beef and Zucchini Skillet (Low-Carb)

  1. Prepare the courgettes. Trim the ends off each courgette, then slice them into half-moons about 1cm thick — not too thin, or they’ll disappear into the sauce. Scatter them over a clean tea towel, sprinkle lightly with salt, and leave to sit while you prepare everything else. This draws out excess moisture, and you’ll see tiny beads of water forming on the surface after 10 minutes. Pat them dry with kitchen paper before cooking.
  2. Brown the mince. Place your large frying pan over a medium-high heat and add one tablespoon of the olive oil. When the oil shimmers and you can smell its warmth, add the beef mince. Let it sit undisturbed for a full 3 minutes — you want to hear a steady, happy sizzle. When the underside is a deep mahogany brown, break it apart with your wooden spoon. Continue cooking until all the mince is browned and no pink remains, about 5-6 minutes total. The kitchen will smell wonderfully toasty. Remove the mince to a bowl using a slotted spoon, leaving the rendered fat in the pan.
  3. Sweat the aromatics. Lower the heat to medium and add the remaining two tablespoons of olive oil. Tip in the diced onion and stir. Listen for a gentle hiss rather than a violent spatter. Cook for about 4 minutes, stirring occasionally, until the onion turns translucent and the edges begin to catch a pale gold colour. Add the minced garlic and cook for another 30 seconds — the moment the garlic releases its sweet, pungent fragrance, you know it’s ready.
  4. Caramelise the courgettes. Increase the heat to medium-high again and add the dried courgette slices in a single layer (work in two batches if your pan is crowded). Let them cook without stirring for 2 minutes, until the undersides develop golden-brown patches. Flip them and cook for another 2 minutes. They should feel tender when pierced with a fork but still hold their shape. The sound will shift from a wet sputter to a drier, more confident sizzle as the moisture evaporates.
  5. Build the sauce. Return the browned beef to the pan. Add the tomato puree, dried thyme, smoked paprika, salt, and black pepper. Stir everything together and cook for 1 minute — the tomato puree will darken slightly and smell intensely rich. Pour in the beef stock and scrape the bottom of the pan with your wooden spoon to release any browned bits (that’s pure flavour). Bring the mixture to a gentle simmer — you want lazy bubbles, not a furious boil.
  6. Simmer and finish. Reduce the heat to low, cover the pan with a lid, and let the skillet bubble quietly for 10 minutes. The liquid will reduce to a luscious, clingy sauce that coats the back of a spoon. Uncover, stir in the grated Parmesan, and let it melt into the sauce for 1 minute. The finished dish should look glossy and inviting, with the courgettes sitting proudly among the rich, dark mince. Sprinkle with fresh parsley just before serving.

Tips From My Kitchen

  • Salt the courgettes in advance. This is non-negotiable for a low-carb skillet. Courgettes are mostly water, and if you skip this step, the excess moisture will flood your pan and you’ll end up with a watery, grey stew rather than a rich, concentrated sauce. The 10-minute salt rest draws out the liquid without cooking the courgettes.
  • Use a pan with a wide surface area. A crowded pan traps steam instead of encouraging browning. If your mince or courgettes look like they’re steaming rather than browning, you’ve packed too much in. Cook in batches if necessary — the extra 4 minutes is worth the deep, caramelised flavour you’ll gain.
  • Let the mince form a crust before stirring. I know it’s tempting to poke and prod, but leaving the mince undisturbed for the first 3 minutes builds a proper Maillard reaction. That browned crust is the foundation of the entire dish’s savoury depth. You’ll know it’s ready when you can slide your spatula underneath and feel the resistance of a good, crisp layer.
  • Adjust the consistency to your liking. After simmering, if the sauce looks too thick for your taste, add a splash of warm water or extra stock. If it’s too thin, remove the lid and let it bubble uncovered for another 2-3 minutes. The sauce should cling to the beef and courgettes without pooling at the bottom of the pan.
  • Grate your own Parmesan. Pre-grated cheese contains anti-caking agents that prevent it from melting smoothly. Grating a small block yourself takes 30 seconds and ensures the cheese dissolves into the sauce, thickening it naturally and adding a subtle nutty richness that ties everything together.

Equipment You’ll Need

  • Large frying pan or skillet (preferably 30cm or wider)
  • Sharp knife and cutting board
  • Mixing bowls (for resting the courgettes)
  • Wooden spoon or spatula
  • Kitchen paper or a clean tea towel
  • Slotted spoon

Common Mistakes to Avoid

  • Overcrowding the pan: When you cram too many courgettes or too much mince into the pan, the temperature drops dramatically and the ingredients release their moisture instead of browning. Cook in batches if needed — the golden-brown colour you achieve is the difference between a dish that tastes flat and one that tastes deeply savoury.
  • Wrong temperature: This recipe needs you to move between heat levels with intention. Browning requires medium-high heat to create that crust. Simmering needs low heat to gently concentrate flavours without toughening the beef. If you keep the heat too high throughout, the mince will turn dry and the courgettes will fall apart.
  • Skipping the rest time: After the skillet finishes cooking, let it rest off the heat for 2-3 minutes before serving. This brief pause allows the sauce to settle and the courgettes to absorb a little more flavour. If you serve it immediately, the sauce will be looser and the ingredients won’t have had time to meld together harmoniously.

Delicious Variations to Try

  • Spicy Version: Add one finely chopped red chilli (seeds removed if you prefer less heat) along with the garlic. For extra warmth, stir in half a teaspoon of cayenne pepper with the smoked paprika. The gentle heat cuts through the richness beautifully without overwhelming the courgettes.
  • Vegetarian/Vegan Option: Replace the beef mince with 400g of cooked green lentils or a plant-based mince alternative. Use vegetable stock instead of beef stock, and skip the Parmesan or use a vegan alternative. The lentils bring an earthy, satisfying texture that works wonderfully with the courgettes.
  • Different Protein: Swap the beef mince for turkey mince or lamb mince. Turkey will cook slightly faster and has a milder flavour, so consider adding an extra pinch of smoked paprika. Lamb brings a beautiful, gamey richness that pairs exceptionally well with the thyme and courgettes.

What to Serve With Ground Beef and Zucchini Skillet (Low-Carb)

  • A simple side salad with a sharp lemon and olive oil dressing to cut through the richness.
  • Cauliflower rice, sautéed briefly in butter, for extra bulk without the carbs.
  • Steamed green beans or a handful of fresh rocket on the side for a peppery contrast.
  • If you’re not strictly low-carb, a slice of crusty sourdough to mop up every last drop of the sauce.

Frequently Asked Questions

Can I make this Ground Beef and Zucchini Skillet ahead of time?
Absolutely, and in many ways it improves overnight as the flavours have time to mingle. Allow the skillet to cool completely, then transfer it to an airtight container and refrigerate for up to three days. When reheating, add a splash of beef stock or water to loosen the sauce, as it will thicken in the fridge.

How do I prevent the courgettes from becoming soggy?
The salting step is your best defence against soggy courgettes. Beyond that, make sure you dry them thoroughly with kitchen paper after resting, and cook them over a high enough heat to encourage browning rather than steaming. If you follow these steps, the courgettes will remain tender but distinct.

Can I freeze this dish?
Yes, it freezes well for up to two months. Portion the cooled skillet into freezer-safe containers, leaving a little room for expansion. When you’re ready to eat, thaw overnight in the refrigerator and reheat gently on the hob. The courgettes will be softer after freezing, but the flavour remains excellent.

What can I use instead of Parmesan to keep it dairy-free?
A tablespoon of nutritional yeast stirred in at the end will add a similar savoury, cheesy note without any dairy. Alternatively, you can simply omit the Parmesan altogether — the sauce will be slightly thinner, but the dish will still be packed with flavour from the beef, stock, and spices.

Is this recipe suitable for meal prep?
Very much so. I often double the recipe on a Sunday and divide it into four lunch-sized portions. It reheats beautifully in the microwave or on the hob, and it pairs well with whatever green vegetable or salad you have on hand. Just remember to store the sauce separately if you plan to add fresh greens later.

Ground Beef And Zucchini Skillet (Low-Carb)

Ground Beef and Zucchini Skillet (Low-Carb)

A quick and flavorful low-carb skillet dinner featuring seasoned ground beef, tender zucchini, and a rich tomato-based sauce, finished with Parmesan and fresh parsley.
Prep Time 15 minutes
Cook Time 30 minutes
Total Time 45 minutes
Servings: 4 servings
Course: Main Course
Cuisine: American
Calories: 350

Ingredients
  

  • 500 g beef mince 15-20% fat
  • 3 medium courgettes about 600g total
  • 1 large onion finely diced
  • 4 cloves garlic minced
  • 2 tablespoons tomato puree
  • 200 ml beef stock unsalted
  • 1 teaspoon dried thyme
  • 1 teaspoon smoked paprika
  • ½ teaspoon sea salt plus more for courgettes
  • ½ teaspoon black pepper
  • 3 tablespoons olive oil
  • 30 g Parmesan cheese finely grated
  • Small handful of fresh parsley chopped

Method
 

  1. Prepare the courgettes. Trim the ends off each courgette, then slice them into half-moons about 1cm thick — not too thin, or they'll disappear into the sauce. Scatter them over a clean tea towel, sprinkle lightly with salt, and leave to sit while you prepare everything else. This draws out excess moisture, and you'll see tiny beads of water forming on the surface after 10 minutes. Pat them dry with kitchen paper before cooking.
  2. Brown the mince. Place your large frying pan over a medium-high heat and add one tablespoon of the olive oil. When the oil shimmers and you can smell its warmth, add the beef mince. Let it sit undisturbed for a full 3 minutes — you want to hear a steady, happy sizzle. When the underside is a deep mahogany brown, break it apart with your wooden spoon. Continue cooking until all the mince is browned and no pink remains, about 5-6 minutes total. The kitchen will smell wonderfully toasty. Remove the mince to a bowl using a slotted spoon, leaving the rendered fat in the pan.
  3. Sweat the aromatics. Lower the heat to medium and add the remaining two tablespoons of olive oil. Tip in the diced onion and stir. Listen for a gentle hiss rather than a violent spatter. Cook for about 4 minutes, stirring occasionally, until the onion turns translucent and the edges begin to catch a pale gold colour. Add the minced garlic and cook for another 30 seconds — the moment the garlic releases its sweet, pungent fragrance, you know it's ready.
  4. Caramelise the courgettes. Increase the heat to medium-high again and add the dried courgette slices in a single layer (work in two batches if your pan is crowded). Let them cook without stirring for 2 minutes, until the undersides develop golden-brown patches. Flip them and cook for another 2 minutes. They should feel tender when pierced with a fork but still hold their shape. The sound will shift from a wet sputter to a drier, more confident sizzle as the moisture evaporates.
  5. Build the sauce. Return the browned beef to the pan. Add the tomato puree, dried thyme, smoked paprika, salt, and black pepper. Stir everything together and cook for 1 minute — the tomato puree will darken slightly and smell intensely rich. Pour in the beef stock and scrape the bottom of the pan with your wooden spoon to release any browned bits (that's pure flavour). Bring the mixture to a gentle simmer — you want lazy bubbles, not a furious boil.
  6. Simmer and finish. Reduce the heat to low, cover the pan with a lid, and let the skillet bubble quietly for 10 minutes. The liquid will reduce to a luscious, clingy sauce that coats the back of a spoon. Uncover, stir in the grated Parmesan, and let it melt into the sauce for 1 minute. The finished dish should look glossy and inviting, with the courgettes sitting proudly among the rich, dark mince. Sprinkle with fresh parsley just before serving.

Notes

Salting the zucchini draws out moisture to prevent a watery sauce. Use a large pan to avoid overcrowding when browning the zucchini.

I hope this skillet becomes as cherished in your kitchen as it is in mine. There’s something deeply satisfying about leaning into the process — the gentle sizzle, the slow browning, the quiet transformation of simple ingredients into something genuinely comforting. If you give it a try, I’d love to hear how you get on. Drop a comment below and tell me about the aromas that filled your kitchen, or how you made it your own.

You might also like these recipes

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating