
A rich, slow-simmered Bolognese made with ground beef, whole milk, wine, and tomatoes — perfect for pappardelle or tagliatelle and worthy of Sunday supper.

This Bolognese has been my go-to for chilly weekends and special Sunday suppers for years. I first landed on this combination of butter, olive oil, wine, milk and crushed tomatoes during a rainy autumn when I wanted something that felt indulgent but was built from pantry staples. The result is a sauce that is both richly savory and subtly creamy: the milk softens the acidity of the tomatoes and the butter gives a glossy finish that clings beautifully to wide ribbons of pasta. Every time I make it, the house fills with a savory aroma that draws family members from every corner.
I remember the first night I doubled the recipe for a dinner party and watched everyone return for seconds without hesitation. The texture — tender strands of meat, a slightly loose, saucy body that’s perfect for pappardelle or tagliatelle — is what makes this one of those recipes you’ll keep reaching for. It’s forgiving, adaptable, and a wonderful vehicle for simple good ingredients: quality canned tomatoes, a splash of wine, and whole milk to bring everything together.
On weeknights I make a small batch and toss the leftovers with buttered pasta for lunch; for parties I double it and serve with a big mixed salad and plenty of grated Parmesan. Family members always comment on how comforting and familiar it tastes — like a warm kitchen memory in a bowl.
My favorite aspect is how forgiving this preparation is: you can leave it to simmer while you set the table, and the flavors keep improving. Friends have told me this tastes like something their grandmother made — a real compliment. On several occasions I doubled the recipe, froze half, and later served it for a weeknight dinner that tasted even better than the first night.
Allow the sauce to cool slightly before storing to preserve texture and flavor. Refrigerate in airtight containers for up to 4 days; the surface may darken slightly but the flavor will remain robust. For longer storage, portion into freezer-safe containers or heavy-duty zip-top bags and freeze flat for up to 3 months. Reheat on the stovetop over low heat with a splash of water or reserved pasta water to loosen, stirring until warmed through. If frozen, thaw overnight in the fridge and reheat gently to avoid breaking the emulsion of butter and milk.
If you prefer a mix of meats, swap half the beef for ground pork or veal for a more traditional, layered flavor. For a leaner version, choose 90/10 beef but add 1 Tbsp olive oil during the sauté to replace lost fat. If dairy is a concern, omit the milk and increase butter by 1 Tbsp for richness, though the texture will be slightly different. Substitute crushed tomatoes with whole peeled tomatoes crushed by hand if you want more control over texture, and use chicken or beef stock in place of water for greater depth.
Serve with pappardelle or tagliatelle so the wide pasta ribbons hold the sauce; finish with a knob of butter for gloss and freshly grated Parmigiano-Reggiano. A simple arugula salad with lemon vinaigrette cuts the richness, while roasted seasonal vegetables or a loaf of crusty bread make the meal complete. For a rustic presentation, twirl pasta into nests and spoon the sauce over the top, finishing with chopped parsley and extra pepper.
This style of meat-based sauce hails from Bologna and Emilia-Romagna in northern Italy, where slow-cooked meat sauces were developed to celebrate local pork, beef and rich dairy. Classic preparations vary by family and town — some include soffritto of carrot, celery and onion, others add pancetta or a splash of milk and wine. The dish evolved as a way to stretch small amounts of meat into satisfying meals when combined with pasta and sturdy pantry items like canned tomatoes and tomato paste.
In winter, serve this with roasted root vegetables and a bold red wine; in summer, lighten the plate with a lemon arugula salad and ripe tomatoes on the side. For holiday gatherings, add a splash of cream and finish with truffles or mustard for a celebratory twist. In spring, fold in fresh peas toward the end of simmering for a sweet pop, or garnish with seasonal herbs like basil instead of parsley.
Make the sauce two days ahead — flavors marry and deepen in the refrigerator. Portion into single-serving containers for quick lunches; when reheating, add a spoonful of pasta water to revive silkiness. Cook pasta to just before al dente and cool in a little olive oil if assembling later; then flash-heat pasta in the sauce for a minute when serving to finish cooking and marry flavors. Label and date frozen portions for easy rotation.
Making this sauce is an act of patience and care: a little time transforms simple ingredients into something deeply comforting. Invite friends or family, set out Parmesan, and enjoy how a humble pot of sauce can create long-lasting memories.
Brown the meat in batches if your pot is crowded to ensure maximum caramelization.
Add milk toward the end of cooking to mellow acidity and create a silky texture.
Reserve pasta cooking water to loosen the sauce and help it cling to noodles.
If sauce thickens too much, stir in hot water 1/2 cup at a time until desired consistency.
This nourishing classic bolognese sauce recipe is sure to be a staple in your kitchen. Enjoy every moist, high protein slice — it is perfect for breakfast or as a wholesome snack any time.
Yes — refrigerate up to 4 days or freeze for up to 3 months in airtight containers.
Use pappardelle or tagliatelle; wide noodles catch the chunky meat best.
This Classic Bolognese Sauce recipe makes perfectly juicy, tender, and flavorful steak every time! Serve with potatoes and a side salad for an unforgettable dinner in under 30 minutes.

Heat oil and butter in a 6-quart Dutch oven over medium heat; add onion and cook until translucent (about 3 minutes). Add celery and shredded carrot and cook until golden (about 5 minutes), then add garlic and cook 30 seconds.
Add ground beef, 1/2 tsp salt and 1/4 tsp pepper. Break the meat up and brown until it releases juices and develops color, about 5 minutes.
Pour in 1 cup dry white wine, increase heat slightly, and stir to lift browned bits. Continue until most liquid evaporates, about 5 minutes.
Add 28 oz crushed tomatoes, 1 1/2 cups hot water, tomato paste, and parsley. Stir to combine, then stir in the milk for a creamy finish.
Bring to a boil, reduce to the lowest simmer, partially cover, and cook for 90–120 minutes, stirring occasionally. Add hot water 1/2 cup at a time as needed to prevent sticking and reach desired consistency.
Stir in reserved butter if desired, adjust salt and pepper, cook pasta al dente, reserve pasta water, toss pasta with butter and sauce, and finish with grated Parmesan and chopped parsley.
Last Step: Please leave a rating and comment letting us know how you liked this recipe! This helps our business to thrive and continue providing free, high-quality recipes for you.
Leave a comment & rating below or tag
@epicula on social media!


Ultra-fudgy brownies crowned with toasted mini marshmallows and warm cocoa icing, with molten chocolate pockets in every bite.

Buttery shortbread crust topped with a gooey brown sugar pecan filling. Just 10 minutes to prep for bakery-worthy bars with irresistible crunch.

Ultra-creamy pumpkin cheesecake with a graham crust, bakes without cracks, and shines with caramel and rum-kissed whipped cream.

Leave a comment & rating below or tag @epicula on social media!
Enjoyed this recipe? Share it with friends and family, and don't forget to leave a review!
This recipe looks amazing! Can't wait to try it.
Comments are stored locally in your browser. Server comments are displayed alongside your local comments.

Join to receive our email series which contains a round-up of some of our quick and easy family favorite recipes.