← Back to blog
recipes

Classic Bolognese: A Macro-Friendly Take on an Italian Staple

4 min read9 June 2026
Classic Bolognese: A Macro-Friendly Take on an Italian Staple

There's a reason Bolognese has been a weeknight staple for generations — it's deeply satisfying, endlessly adaptable, and tastes like you've put in far more effort than you actually have. The good news is that a proper ragu is already pretty solid from a nutrition standpoint, and with a few small tweaks, it becomes a genuinely great option whether you're building muscle, managing your weight, or just trying to eat something decent after a long day.

The Base Recipe

This version keeps the spirit of a classic Bolognese intact — slow-cooked, rich, and savoury — while leaning into the ingredients that do the most nutritional heavy lifting.

Serves 4 | Prep: 10 mins | Cook: 45–60 mins

Ingredients:

  • 500g lean beef mince (5% fat)
  • 1 tbsp olive oil
  • 1 medium onion, finely diced
  • 2 cloves garlic, minced
  • 2 medium carrots, finely diced
  • 2 celery stalks, finely diced
  • 2 tbsp tomato purée
  • 1 x 400g tin chopped tomatoes
  • 100ml whole milk
  • 1 tsp dried oregano
  • Salt and black pepper to taste
  • 320g dried pasta (or courgette noodles if you're keeping carbs lower)

Method:

1. Heat the olive oil in a large, heavy-bottomed pan over a medium heat. Add the onion, carrot, and celery, and soften for around 8 minutes until translucent. 2. Add the garlic and cook for another minute. 3. Turn the heat up, add the mince, and break it up well. Cook until browned all over — don't rush this step, as the browning adds depth of flavour. 4. Stir in the tomato purée and cook for 2 minutes. 5. Add the chopped tomatoes, oregano, salt, and pepper. Stir well. 6. Pour in the milk (this is the trick that softens the acidity and adds a subtle richness without a huge calorie cost). 7. Reduce the heat to low, partially cover, and simmer for at least 40 minutes. The longer, the better. 8. Cook your pasta separately and serve topped with the ragu.

Approximate macros per serving (with 80g dried pasta): Calories: ~520 | Protein: ~42g | Carbs: ~52g | Fat: ~12g

What Makes This Work Nutritionally

Lean beef mince is the real workhorse here. At 5% fat, it delivers around 26g of protein per 100g cooked while keeping saturated fat reasonably low — making it one of the better high-protein bases for a meat sauce. The soffritto (that's the onion, carrot, and celery base) isn't just flavour-building; it adds fibre and micronutrients that a meat-only sauce would miss.

The milk addition is a traditional Italian technique that often gets dropped in British adaptations. Beyond flavour, it contributes a small amount of calcium and protein, and it genuinely does soften the acidity of the tomatoes — so you're less likely to want to add sugar to balance things out.

Pasta itself is frequently misunderstood. It has a lower glycaemic index than many people expect, particularly when cooked al dente, and it's a reliable source of complex carbohydrates to fuel activity. Swapping to wholemeal pasta adds a few extra grams of fibre with minimal fuss.

Simple Ways to Adjust the Macros

The beauty of Bolognese is how easy it is to shift the balance without reinventing the dish:

  • Boost protein further: Add 100g of red lentils to the sauce during the simmering stage. They disappear into the ragu, add texture, and bring the protein up while also increasing fibre substantially.
  • Lower the carbs: Serve over courgette noodles or a mix of courgetti and a smaller pasta portion.
  • Increase the volume: Stir through a tin of cannellini beans or bulk up the soffritto with extra vegetables like mushrooms or peppers.
  • Hit higher calorie targets: Use 10–15% fat mince and finish the sauce with a small knob of butter.

Practical Takeaway

Make a double batch. Bolognese freezes brilliantly and actually improves with time as the flavours deepen. Portion it into containers once cooled, and you've got four to eight meals ready to go for the week — no thinking required on the nights when cooking feels like too much.

The pasta can always be cooked fresh in ten minutes, so you're never far from a solid, high-protein meal.

---

> Macrology tip: If you want your weekly meals planned around targets like these automatically, Macrology generates macro-perfect meal plans in seconds — https://macrology.app/signin

Generate this meal in Macrology

Want meals like this planned to your exact macros?

Macrology generates a personalised meal plan in seconds — breakfast, lunch, dinner and snacks, all hitting your daily targets.

Start your free 14-day trial

More from recipes

recipes

Crispy Duck Leg with Roasted Plums and Wilted Greens

8 min read
recipes

Gochujang Beef Rice Bowl with Pickled Cucumber and Sesame

7 min read
recipes

Crispy Skin Sea Bass with Warm Puy Lentils and Salsa Verde

7 min read