Bolognese Sauce Recipe: My Cozy Family Go-To (With Laughs)
How I Fell in Love With Bolognese (Honestly)
I’ve made this Bolognese sauce more times than I care to count — sometimes because it was a weeknight scramble, other times for big, messy Sunday meals. I still remember the first time my friend Anna & I tried to make it in her tiny flat; we lost the plot around step three but hey, that’s how you learn. And let’s be totally upfront: the smell of onions and garlic softening in olive oil is basically my love language. If I ever set up a dating profile, that’ll probably be my opening line.
Why You’ll Honestly Love This (At Least I Do)
I make this when I can’t think of what to cook (so yes, a lot), and there’s always enough for leftovers (except when my cousin Dave visits!). My family goes slightly bananas for it because it’s hearty, forgiving if you zone out halfway through, and it hides a small mountain of veggies for good measure. I mean, I once used carrots so limp they could’ve bent in half and nobody noticed. Plus, it’s the only sauce that can lure my brother away from his phone for a whole meal. That alone is about as rare as hen’s teeth.
What You’ll Need (But Don’t Fuss If You’re Missing Something)
- 2 tbsp olive oil (or, when I run out, just a knob of butter — works fine)
- 1 large onion, diced (red or yellow — doesn’t matter)
- 2 celery sticks, diced (I’ve used fennel in a pinch. It’s… interesting.)
- 2 small carrots, diced (No carrots? Just add a dash of sugar later)
- 3 garlic cloves, minced (I’ve been known to double this, but it’s your call)
- 500g ground beef (or half beef, half pork if you’re feeling fancy)
- 2 tbsp tomato paste (tbh, I usually eyeball this part)
- 1 can (400g) chopped tomatoes (My gran swears by Mutti, but the store brand is just fine. Seriously.)
- 1 cup whole milk (I’ve used oat milk once, worked better than I thought)
- 1 cup dry white wine (the cheap stuff, mostly)
- 2 tsp dried oregano
- 1 bay leaf (though the world won’t end if you skip it)
- Salt & pepper to taste
- Fresh basil or parsley, if you have some hiding in the fridge
Making It All Happen (No Panic Required)
- Warm the olive oil in a big pot — I use my battered Dutch oven, but honestly, anything deep-ish will work.
- Toss in the onions, celery, and carrots. Give ‘em a stir. Cook gently until soft and slumpy (8ish minutes). If you wander off and they get a little color, that’s totally fine, maybe even tastier.
- Sling in the garlic, stir for 30 seconds — just until you catch a whiff. (Here’s where I usually sneak a taste. Every single time. Why do we do it?)
- Add the beef and break it up. Don’t rush this step — you want all the pink gone and for some sticky bits to form at the bottom, just a bit. Actually, I find it works better if you let it cook undisturbed for a couple min first. Don’t quote me.
- Stir in the tomato paste, cook for about 2 minutes, then bring on the wine. Scrape up anything on the bottom — I call this ‘sauce archaeology.’ Let it bubble, then add the chopped tomatoes, oregano, bay leaf, salt, and pepper.
- Simmer uncovered on very low heat for at least 45 min, stirring when you remember. If you forget and it sticks, pour in a splash of water and act cool.
- Now’s the bit that freaked me out at first: stir in the milk (it’ll look odd, but I promise it all comes together). Simmer another 15-20 min. Taste — feel free to adjust salt, pepper, or sneak in that limp carrot if you want.
- Fish out the bay leaf, stir in chopped herbs if you’ve got ‘em, then serve over pasta you actually like (I default to tagliatelle but will not judge spaghetti fans!).
Notes From the Trenches (AKA My Actual Kitchen)
- I used to cover the pot while simmering, but, honestly, the flavor is way better uncovered — gets all rich and thick.
- Sometimes I skip the wine. It’s not the end of the world, but the sauce is a smidge less ‘oomph’ — like going to a pub and finding out they’re out of crisps.
- Oh, and if you forget the bay leaf entirely, I swear no one will notice. Happens all the time round here, oops!
Variations I’ve Actually Tried (Some With Regret…)
- I once swapped in lentils for half the meat (not bad, just a bit earthier; kids noticed but didn’t riot).
- Turkey instead of beef: makes it lighter, but somehow feels like something’s missing. Not my favorite, but hey, to each their own.
- Added a dash of cinnamon once, hoping for a Greek thing. Didn’t win anyone over — 10/10 would not repeat!
- If you’re vegan, use lentils and skip the milk or try oat cream. Actually worked better than expected. Anna wasn’t mad, anyway.
On Equipment (aka No Dutch Oven? No Problem)
I’ve made this in a battered stockpot, a big frying pan with high sides, even once in a slow cooker (though I left it too long and ended up with sauce sludge, but we won’t talk about that). So long as it’s deep and won’t burn quickly, you’re golden. No wooden spoon? Use a spatula. Or, honestly, just a big fork. Not joking.
Storage — If You Actually Have Leftovers
Supposedly you can keep this in an airtight container in the fridge for up to 4 days, or freeze it a month or so. But — in my house? Ha. It barely lasts one night. I do reckon it tastes even better the next day, so if you have more willpower, try to save some for lunch.
How We Eat It (And a Mini Family Debate)
I always serve it with fresh, thick pappardelle if I can find it, mountains of parmesan, and a simple salad tossed together while the pasta cooks. My uncle swears by garlic bread (claims it’s not a meal unless there’s bread to mop up sauce). Occasionally, I even sneak a splash of sauce into a toastie the next morning — don’t knock it ‘til you try it!
Things I’ve Learned (Pro, erm, Tips?)
- I once tried rushing the simmer, and it tasted strangely flat — don’t be like me. Let it bubble away; maybe even go have a cuppa.
- Add the milk slowly; otherwise, it can get all weird and curdled. Trust me.
- Don’t over-salt at first. I get over-excited and then have to fish out a rogue potato to fix it (old chef’s trick, might be nonsense but I do it anyway).
Your Questions — Yes, I’ve Heard These Lots
- Why add milk? Isn’t bolognese meant to be meaty?
Brilliant question. The milk makes it all silky, kind of rounds out any sharpness from tomatoes. You don’t have to, but I think it’s worth it. - Can I use any pasta?
Oh for sure. Traditionally tagliatelle or pappardelle, but honestly any shape works — go wild, use fusilli if that’s all you’ve got, no judgment here. - Freeze or fridge — which is better?
I’ve frozen batches loads of times and while it’s ok, I reckon it loses a little mojo after a couple weeks. Fridge for three days is my vote, but don’t quote me. - Can I make this in advance?
Absolutely — it’s possibly even better the day after. Give it a good stir and a splash of water when you reheat. - What wine to cook and serve?
I usually just pour whatever’s open. For really good pairings though, check out this very helpful wine guide that saved me during my first adult dinner party.
One final bit (I almost forgot): if you’re obsessed with Italian cooking like me, I owe a lot to Gennaro Contaldo’s recipe. Lots of wisdom there. And if you want a deep dive into the science of flavor, Serious Eats is always my rabbit hole of choice.
Anyway, that’s my bolognese (wonkiness, digressions, and all). Hope it brings a little chaos and comfort to your table the way it has to mine. Buon appetito!
Ingredients
- 2 tablespoons olive oil
- 1 medium onion, finely chopped
- 2 cloves garlic, minced
- 1 carrot, finely diced
- 1 celery stalk, finely diced
- 500g ground beef
- 800g canned crushed tomatoes
- 2 tablespoons tomato paste
- 1 teaspoon dried oregano
- 1 teaspoon dried basil
- 1/2 cup whole milk
- Salt and pepper to taste
Instructions
-
1Heat olive oil in a large saucepan over medium heat. Add onion, garlic, carrot, and celery. Cook for 5-7 minutes until softened.
-
2Add the ground beef and cook, breaking up with a spoon, until browned and cooked through.
-
3Stir in crushed tomatoes, tomato paste, oregano, and basil. Season with salt and pepper.
-
4Reduce heat to low, cover, and simmer for 1 hour, stirring occasionally.
-
5Pour in whole milk and continue simmering uncovered for 20-30 minutes until the sauce thickens.
-
6Taste and adjust seasoning if needed. Serve hot over pasta or use as desired.
Approximate Information for One Serving
Nutrition Disclaimers
Number of total servings shown is approximate. Actual number of servings will depend on your preferred portion sizes.
Nutritional values shown are general guidelines and reflect information for 1 serving using the ingredients listed, not including any optional ingredients. Actual macros may vary slightly depending on specific brands and types of ingredients used.
To determine the weight of one serving, prepare the recipe as instructed. Weigh the finished recipe, then divide the weight of the finished recipe (not including the weight of the container the food is in) by the desired number of servings. Result will be the weight of one serving.
Did you make this recipe?
Please consider Pinning it!!
