Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 tbsp olive oil
- 1 lb (450 g) ground beef, 85–90% lean
- 1/2 lb (225 g) ground pork
- 1 medium onion, finely diced (1 cup)
- 1 medium carrot, finely diced (1/2 cup)
- 1 rib celery, finely diced (1/2 cup)
- 2 tbsp tomato paste
- 1/2 cup dry red wine
- 1 cup whole milk
- 1 can (28 oz/794 g) crushed tomatoes
- 1 bay leaf, 1/4 tsp red pepper flakes (optional)
- 1 1/2 tsp kosher salt, 1/2 tsp black pepper
- Pinch nutmeg (optional), 1/2 cup water or broth as needed
- 1 tbsp butter (optional finish)
Do This
- 1. Preheat a wide Dutch oven over medium-high until hot (about 375 F surface temp). Add oil.
- 2. Brown beef and pork with 1 tsp salt, 7–9 minutes, breaking into small bits.
- 3. Stir in onion, carrot, celery, and flakes; cook on medium 5–6 minutes until softened.
- 4. Clear a spot; toast tomato paste 2 minutes, then mix through.
- 5. Deglaze with wine; reduce 2–3 minutes. Add tomatoes, milk, bay leaf, pepper, nutmeg.
- 6. Simmer gently 25–35 minutes at 190–200 F, stirring. Adjust salt; swirl in butter. Rest 5 minutes.
Why You’ll Love This Recipe
- Weeknight-friendly: ready in about an hour with deep, slow-cooked flavor.
- Balanced and silky: milk mellows acidity and gives the sauce a clingy, velvety finish.
- Classic profile: soffritto, tomato paste, and a splash of red wine build real Italian ragù character.
- Versatile: perfect over tagliatelle, polenta, or tucked into lasagna later in the week.
Grocery List
- Produce: 1 onion, 1 carrot, 1 rib celery, 3 garlic cloves (optional), 1 bay leaf
- Dairy: Whole milk, unsalted butter (optional)
- Pantry: Olive oil, kosher salt, black pepper, red pepper flakes (optional), tomato paste, crushed tomatoes (28 oz can), dry red wine, ground nutmeg (optional), low-sodium beef broth or water
Full Ingredients
Weeknight Bolognese (Sauce Only)
- 1 tablespoon olive oil
- 1 pound (450 g) ground beef, 85–90% lean
- 1/2 pound (225 g) ground pork
- 1 1/2 teaspoons kosher salt, divided (plus more to taste)
- 1/2 teaspoon freshly ground black pepper
- 1 medium yellow onion, finely diced (about 1 cup / 150 g)
- 1 medium carrot, finely diced (about 1/2 cup / 70 g)
- 1 rib celery, finely diced (about 1/2 cup / 60 g)
- 2 tablespoons (30 g) tomato paste
- 1/2 cup (120 ml) dry red wine
- 1 cup (240 ml) whole milk
- 1 can (28 oz / 794 g) crushed tomatoes
- 1 bay leaf
- 1/8 teaspoon ground nutmeg (optional but lovely)
- 1/4 teaspoon red pepper flakes (optional)
- Up to 1/2 cup (120 ml) low-sodium beef broth or water, as needed
- 1 tablespoon unsalted butter (optional finishing gloss)
- 1/2 teaspoon granulated sugar, only if needed to balance acidity

Step-by-Step Instructions
Step 1: Prep the soffritto
Finely dice the onion, carrot, and celery into small, even pieces (about 1/8 inch). This classic soffritto melts into the sauce, building flavor and body without obvious chunks. Measure out the tomato paste, wine, milk, and crushed tomatoes so they are ready to go.
Step 2: Heat the pot and brown the meat
Set a wide, heavy Dutch oven or deep skillet over medium-high heat. When the pan is hot (oil should shimmer immediately, about 375 F surface temperature if using an infrared thermometer), add the olive oil. Add the ground beef and pork, season with 1 teaspoon kosher salt and the black pepper, and cook for 7–9 minutes, breaking the meat into fine bits. Let it sit undisturbed in spots to develop browned edges; aim for small, pebbly pieces for the best sauce texture. Drain excess fat only if there is more than a thin sheen left in the pot.
Step 3: Soften the aromatics
Lower heat to medium. Stir in the onion, carrot, celery, and red pepper flakes (if using). Cook, stirring occasionally, until the vegetables are soft and sweet, 5–6 minutes. Sprinkle in the remaining 1/2 teaspoon kosher salt during this stage to help them sweat and season the base evenly.
Step 4: Toast the tomato paste
Push everything to the edges to create a hot spot in the center. Add the tomato paste and cook it in that spot for 2 minutes, stirring, until it darkens slightly in color and smells caramelized. This step concentrates umami and removes raw acidity.
Step 5: Deglaze with wine
Pour in the red wine and stir, scraping up any browned bits from the bottom. Simmer 2–3 minutes until the wine is reduced by about half and the alcohol aroma mellows.
Step 6: Build and simmer the sauce
Stir in the crushed tomatoes, milk, bay leaf, and nutmeg (if using). Bring to a gentle simmer, then reduce heat to low or medium-low to maintain a quiet burble, about 190–200 F. Partially cover and cook 25–35 minutes, stirring every 5 minutes. If the sauce gets too thick before the time is up, add broth or water 2 tablespoons at a time. You are aiming for a thick, spoon-coating ragù that clings to a spoon with a glossy sheen.
Step 7: Finish and balance
Remove the bay leaf. Taste and adjust: add a pinch more salt if needed, black pepper to taste, and only a touch of sugar if the tomatoes are very tangy. For a restaurant-style gloss, swirl in the butter. Let the sauce rest off heat for 5 minutes so the fat reabsorbs and the flavors settle. Keep warm at 170–180 F if not serving immediately.
Pro Tips
- Dice soffritto very fine so it melts into the sauce; large chunks prevent a silky texture.
- Use a wide pot: more surface area means faster browning and better reduction.
- Toast the tomato paste; those 2 minutes dramatically deepen flavor and color.
- Milk is non-negotiable for weeknight richness; it softens acidity and gives body.
- Simmer gently, not hard: aim for small, lazy bubbles (about 190–200 F) to keep the sauce tender.
Variations
- Mushroom-Lentil Ragù: Replace pork with 8 oz finely chopped cremini mushrooms and add 1/2 cup cooked brown lentils in Step 6.
- All-Beef or Turkey: Use 1 1/2 lb of a single ground meat; if using turkey, add 1 extra tablespoon olive oil for richness.
- No-Wine Version: Swap the wine for 1/2 cup beef broth plus 1 teaspoon balsamic vinegar when finishing.
Storage & Make-Ahead
Refrigerate cooled sauce in airtight containers up to 4 days. Freeze up to 3 months; thaw overnight in the refrigerator. Reheat gently on the stovetop over medium-low until steaming (165 F), adding a splash of water or milk to loosen if needed. This sauce tastes even better the next day as the flavors meld.
Nutrition (per serving)
Approximate for 1/6 of the batch: 360 calories; 22 g fat; 13 g carbohydrates; 23 g protein; 2 g fiber; 580 mg sodium. Values will vary with ingredient brands and salt level.


Leave a Reply