
This low and slow, simple ingredient, HUG IN A BOWL will make your whole week warm and cozy. I’m not sure there’s a more delicious pasta sauce than a bolognese. It’s full of flavor-rich ingredients, and it simmers for two hours (or three, if you want), allowing those flavors to deepen and intensify even more.
Toss this goodness with some zoodles or spaghetti squash (or regular noodles if you aren’t doing Whole 30!), and you’ve got a bowl of happy sitting on your dinner table. It tastes good to eat, and it feels good to eat, that’s my favorite part about Whole 30 food.

Let’s talk ricotta. This is a vegan ricotta – it’s Whole 30 friendly, and even off Whole 30, I make it because my son has a dairy allergy. So – does it taste exactly like ricotta? No. Plant based substitutes hardly ever taste exactly like the thing they’re mimicking.
HOWEVER – is it a creamy, savory element that has a similar taste and feel to ricotta and also (most importantly) just tastes SUPER good? YESSSSS. It is that. My husband and I honestly both like it more than ricotta itself. But also, real ricotta isn’t our favorite thing ever in the first place, so that could be why.
If you’re on the fence, just try it. It’s very very easy to make, it tastes GREAT, and it adds a lovely little rich, creamy element to this dish that you are usually missing while eating dairy free.

As for the sauce itself – it’s pretty dang easy to make. You food process your carrots, onions, celery, and garlic, which makes your veggie prep so quick and simple. You saute those veggies, add your beef and cook until browned, add your red wine substitute (pomegranate juice + balsamic vinegar) and cook it for a few minutes, and then add the liquid portion of your sauce: almond milk and crushed tomatoes. Done. Simmer it for two hours, finish it off with a little nutmeg (you don’t taste it, just feel a little warmth and some depth of flavor), and you’re done!
I love low and slow simmer meals like this for two reasons:
- They taste amazing because of that long cook time, giving all those flavors lots of time to get to know each other.
- It allows me to knock out dinner during nap time and then – ding! – it’s ready at 5:30 and I’ve had to do almost nothing while my kids are awake and needing things/wanting to play.

Here’s the recipe, friends! Dinner dreams ❤️
PrintWhole 30 Bolognese with Dairy Free “Ricotta”

Deeply flavorful, hearty, and so comforting, this bolognese is perfection folded into a bowl of noodles, zoodles, or spaghetti squash!
- Prep Time: 10 mins
- Cook Time: 2 hours 30 mins
- Total Time: 2 hours 40 minutes
- Yield: 6–7 servings 1x
Ingredients
For the bolognese
- 1 onion, peeled and quartered
- 3 cloves of garlic
- 3 carrots, peeled and chopped into big chunks (1–2 inches)
- 4 stalks of celery, chopped into big chunks (1–2 inches)
- 2 pounds ground beef
- 1 cup red wine *OR* 1 cup pomegranate juice + 2 tablespoons balsamic vinegar
- 2 tablespoons tomato paste
- 1 cup almond milk (or regular milk if not Whole 30)
- 28 oz can crushed tomatoes or tomato puree
- 2 bay leaves
For the ricotta
- 1/2 cup raw cashews
- 1 cup blanched slivered almonds
- 3 tablespoons lemon juice
- 1/2 cup water + 2 tablespoons
- 1 garlic clove, minced
- 2 tablespoons nutritional yeast
Instructions
- Add your onion, garlic, carrots, and celery to your food processor and process in long pulses until all the veggies are minced into tiny pieces
- Heat a large pot over medium high heat with some olive oil and add the veggies when the pot has heated up. Season with salt and pepper and saute until the veggies have cooked down a bit and the moisture has evaporated (about 5 minutes)
- To this, add your ground beef + salt and pepper and cook until browned
- Once browned, deglaze your pot with either red wine or the pomegranate juice + balsamic mixture
- Let the liquid cook down a bit (about 2 minutes)
- Add your almond milk and crushed tomatoes + salt and pepper and bring to a simmer
- Simmer uncovered for 2 hours (you could go a bit longer – up to 3 hours – if you wanted, but I find that 2 hours gets the sauce nice and thick and super flavorful).
- Season to taste and serve with zoodles, spaghetti squash, or regular noodles + dairy free ricotta (recipe below)
For the ricotta
- Add all the ingredients to the bowl of your food processor. Season with salt and pepper
- Turn on and blend until the mixture has become smooth with light grains to mimic ricotta cheese. I probably blended mine for a full minute or so, but it will depend on your food processor. Season to taste with salt and pepper!
Notes
Bolognese is a “dry sauce” which means is not very saucy or liquidy – it’s traditionally very thick and less saucy than you might imagine. So as your sauce thickens and most of the soupy liquid cooks out, this is normal, and it’s what you want!
Nutrition
- Serving Size: Heaping 3/4 cup of sauce + a few dollops of ricotta
- Calories: 501
- Sugar: 17 g
- Sodium: 184 mg
- Fat: 28 g
- Saturated Fat: 6 g
- Trans Fat: 0 g
- Carbohydrates: 28 g
- Fiber: 7 g
- Protein: 36 g
- Cholesterol: 81 mg

This is so good I had to force myself to stop eating it!
Haha! That makes my day. Thanks for the comment Jennifer!