This is a grain-free Bolognese built on ground beef, fire-roasted tomatoes, and a full pound of vegetables — zucchini, cauliflower, carrots, celery, and red pepper. It cooks in about an hour and serves six, which makes it one of the more practical paleo meals you can put together on a weeknight. The sauce is hearty enough to stand on its own, and the base is flexible enough to work with whatever produce needs using up.
What makes this version work
Two things actually matter here. First, browning the beef in a dry pan before anything else — no oil, no crowding — gives you fond on the pan bottom and a deeper flavor in the finished sauce. If you skip this or rush it, the meat steams instead of browns and the sauce tastes flat. Second, the vegetables go in stages rather than all at once: onion first, then the harder carrots and celery, then the softer zucchini and cauliflower. This keeps the firmer vegetables from being underdone while the zucchini turns to mush. The 15-minute uncovered simmer at the end is long enough to reduce the liquid from the canned tomatoes without drying out the beef — don’t cover it or you’ll end up with a watery sauce.
Smart swaps
- Fire-roasted tomatoes: Regular diced canned tomatoes work fine. Add a small pinch of smoked paprika to get closer to that roasted depth.
- Cauliflower: Frozen cauliflower florets are a direct swap — no thawing needed, just add them straight to the pan. They’ll release a little extra water, so let the sauce simmer an extra 3–4 minutes.
- Zucchini noodles: Spaghetti squash is the most satisfying alternative. If you have neither, just dice the zucchini and stir it into the sauce — skip the garnish idea entirely, not worth the extra dish.
- Red pepper: Any color bell pepper works. Green peppers are slightly more bitter but perfectly usable.
- Ground beef: Ground turkey is a leaner option — cook it to 165°F (74°C) and expect a slightly drier sauce, so keep an extra splash of water or broth nearby.
What can go wrong
- Sauce is watery at the end: The vegetables — especially zucchini and cauliflower — release a lot of moisture. If the sauce looks thin after 15 minutes, pull the lid off and crank the heat to medium for another 5 minutes, stirring occasionally.
- Garlic burns: The recipe gives garlic only 30 seconds for good reason. If your pan is too hot when the garlic goes in, it will turn bitter fast. Lower the heat before adding it, or push the other vegetables to the edges to create a cooler spot in the center.
- Beef is gray and steamed rather than browned: This happens when the pan isn’t hot enough or the meat is packed in too tightly. Use your largest pan and break the beef into chunks rather than stirring constantly — let it sit undisturbed for a minute at a time.
- Zucchini noodles go soggy: Don’t cook the zoodles in the sauce. Serve the sauce on top of raw or very lightly sautéed zoodles — residual heat from the sauce is enough.
- Underseasoned sauce: Canned tomatoes vary a lot in salt content. Taste the sauce after the simmer, not before — the flavor concentrates as it reduces, so seasoning early can lead to an over-salted result.
Make-ahead notes
The sauce keeps well in the fridge for up to 4 days in a sealed container — the flavor actually improves overnight as the vegetables and beef meld together. For freezing, portion it into zip-lock bags or airtight containers and freeze for up to 3 months; lay the bags flat so they stack efficiently. Reheat on the stovetop over medium-low with a splash of water to loosen it, stirring occasionally until it hits a full simmer. Avoid reheating zucchini noodles — spiralize or sauté fresh zoodles when you’re ready to serve, since previously cooked zucchini turns watery and soft after refrigeration.

Paleo Spaghetti Bolognese (Grain-Free, Veggie-Loaded)
Equipment
Ingredients
2 pounds ground beef - minced beef, about 900g
1 large yellow onion - diced
4 medium carrots - diced
3 stalks celery - diced
2 cloves garlic - minced
2 medium zucchini - as zucchini noodles, or diced if you prefer
1 medium red pepper (red capsicum) - diced (red bell pepper)
½ medium head cauliflower - cut into small florets, about 12 oz / 340g- 1 can fire-roasted diced tomatoes - 28-oz / 794g
1 tablespoon tomato paste - 15g
1 pinch salt - to taste, start with 1 teaspoon and adjust
1 pinch ground black pepper - to taste, start with 1/2 teaspoon and adjust
1 tablespoon olive oil - 15ml
Instructions
- Heat a large 12-inch (30cm) skillet or Dutch oven over medium-high heat. Once the pan is hot, add the ground beef and spread it in an even layer. Cook without stirring for 2-3 minutes until a brown crust forms, then break it up and continue cooking until most of the pink is gone, about 5-7 minutes total. Remove the beef with a slotted spoon and set aside, leaving any rendered fat in the pan.2 pounds ground beef
- If there is more than 1 tablespoon of rendered fat in the pan, drain the excess. Add the olive oil to the same pan over medium heat. Add the diced onion and stir for about 2 minutes or until the onion is slightly browned.1 tablespoon olive oil, 1 large yellow onion
- Add the diced carrots and celery to the pan and stir for about 2-3 minutes. Add a pinch of salt and pepper to the pan.4 medium carrots, 3 stalks celery, 1 pinch salt, 1 pinch ground black pepper
- Add the minced garlic and stir for 30 seconds. (Short time to prevent it from burning.)2 cloves garlic
- Add the diced red bell pepper and cauliflower florets to the pan. Stir for 2-3 minutes until slightly softened. (If using diced zucchini instead of zucchini noodles, add it here as well.)1 medium red pepper (red capsicum), 1/2 medium head cauliflower, 2 medium zucchini
- Add the can of fire-roasted diced tomatoes and tomato paste into the pan. Stir to combine and bring the mixture to a boil.1 can fire-roasted diced tomatoes, 1 tablespoon tomato paste
- Add the browned beef back to the pan. Once the mixture comes to a boil, turn the heat down to simmer gently for about 15 minutes uncovered. Ensure the ground beef has reached an internal temperature of 160°F / 71°C before serving.2 pounds ground beef
- Taste and adjust salt and pepper as needed. Serve the bolognese over fresh zucchini noodles (spiralised or julienned just before serving) or over your preferred paleo-friendly base. Garnish with fresh basil if desired.1 pinch salt, 1 pinch ground black pepper, 2 medium zucchini
Notes
Nutrition
Common questions
Can I use frozen vegetables instead of fresh?
Yes — frozen cauliflower and diced peppers both work without thawing. Add them straight to the pan and expect a bit more liquid in the sauce; just simmer uncovered for a few extra minutes to cook it off.
What internal temperature should the ground beef reach?
Ground beef should reach 160°F (71°C). A quick-read thermometer is the most reliable check — color alone isn’t a safe indicator with ground meat.
Can I make this with a leaner ground beef or a different protein?
Lean ground beef (90/10) works but produces a drier sauce, so have a splash of beef broth ready to add during the simmer. Ground turkey is also a good swap — cook it to 165°F (74°C) and treat it the same way.
How do I stop the zucchini noodles from making the dish watery?
Keep the zoodles separate from the sauce until serving. Plate the noodles first and spoon the hot sauce over the top — the heat from the sauce softens them just enough without releasing excess water into the dish.
Can I use dried herbs to add more flavor without extra ingredients?
Dried oregano, dried basil, or Italian seasoning all blend well into this sauce — add about a teaspoon with the garlic. These are pantry staples that deepen the flavor without changing the paleo profile.
Is this recipe suitable for meal prep, and does the sauce thicken after refrigerating?
It’s one of the better ground beef recipes for meal prep — the sauce firms up slightly in the fridge as the fat from the beef sets, but loosens again with gentle reheating and a small splash of water. Make a full batch and portion it out for up to four days of lunches or dinners.
More mince recipes to try
- Hearty Beef Cauliflower Bake
- Spicy Beef Stuffed Peppers
- Hearty Beef Kale Soup
- Fragrant Lamb Coconut Stew










