Bolognese is an easy-to-make meat sauce that is perfect for any type of pasta!

This zesty sauce has ground meat, onion, and garlic, simmered until thick and rich.

This recipe freezes and reheats well, making it the perfect weeknight meal!

a plate of bolognese topped with parmesan cheese

This post may contain affiliate links. Please read our disclosure policy.

Holly’s Recipe Highlights

Bolognese differs from typical spaghetti sauce with the addition of celery and carrot plus a little bit of milk. While it may sound unusual, these ingredients add a distinct flavor, a bit of richness, and some sweetness.

  • Flavor:  This thick pasta sauce is zesty and full of flavor.
  • Technique: Let the milk and wine simmer until almost evaporated. If you’re using a smaller pot, this can take a bit longer.
  • Prep note: This recipe freezes well so feel free to double it—cook once, eat twice!
  • Budget tip:  You can use any ground meat for this recipe; buy what’s on sale.
  • Swaps: I highly recommend wine in this recipe but if you don’t have wine, beef broth is a suitable replacement.
  • Serving suggestions:  This sauce is excellent over pasta—pappardelle is my favorite. You can also use it for homemade lasagna or baked ziti!

Ingredient Tips for Bolognese

  • Vegetables: Onions, carrots, and celery are known as mirepoix, and they add flavor to bolognese. If you’d like other veggies, chop them finely and add them in.
  • Meat: I use a combination of ground beef and pork because I love the flavor—feel free to use all beef if it’s what you have on hand. Ground veal or Italian sausage are also delicious additions.
  • Tomatoes: Canned whole tomatoes have a thicker consistency compared to diced tomatoes so I prefer them in this recipe. If possible, San Marzano tomatoes are the best choice for flavor. Canned diced tomatoes or crushed tomatoes can be used, but may change the consistency slightly.
  • Wine: Any dry red wine is great, but honestly any red will do. I usually use cabernet or merlot. Wine adds a lot of depth to this sauce so I highly recommend adding it.
  • Milk: An unusual but traditional ingredient in an authentic bolognese sauce.

How To Make Bolognese Sauce

This bolognese sauce takes time to make but it really is easy! Once the prep work is done this recipe just simmers away until thickened.

  1. Cook Veggies & Meat: Brown the chopped veggies and the meat, then drain off any fat.
  2. Add Wine/Milk: Add the wine and let it simmer away. Next, add the milk and allow that to simmer away too.
  3. Simmer: Add remaining ingredients (per recipe below) and allow it to simmer until thick.

While the sauce simmers, cook pasta according to the directions. Add salt and pepper and parmesan, serve and enjoy!

a dutch oven of cooked bolognese sauce

Serving Suggestions

I like to serve this bolognese over long pasta such as pappardelle or tagliatelle. Serve this dish with the sides you’d add to spaghetti and meatballs.

a plate of bolognese pappardelle topped with parmesan cheese

Storing Leftover Bolognese Sauce

Bolognese is a great sauce to make ahead since, like chili recipe, the flavors “meld and marry” and just get better.

  • Store in the fridge in an airtight container for up to 4 days.
  • Freeze for up to 3 months in a sealed container, leaving about an inch for expansion. A tightly sealed zippered freezer bag works as well. Thaw in the fridge overnight.
  • Reheat on the stovetop or in the microwave, stirring occasionally until hot.

More Italian Inspiration

Did you enjoy this Homemade Bolognese Sauce? Be sure to leave a rating and a comment below!

image of Everyday Comfort cookbook by Holly Nilsson of Spend With Pennies plus text
a plate of bolognese topped with parmesan cheese
4.94 from 713 votes

Homemade Bolognese Sauce

Servings 6 servings
Bolognese is a rich, meaty tomato sauce made with ground beef and pork. It's simmered with a splash of wine and seasonings to create a restaurant worthy pasta bolognese at home!
Servings 6 servings
Prep Time 20 minutes
Cook Time 1 hour
Total Time 1 hour 20 minutes
Email this recipe!
Enter your email and we’ll send it directly to you, plus get even more tips & recipes!

Equipment

Ingredients  

  • 2 tablespoons olive oil
  • 1 yellow onion finely diced
  • 4 cloves garlic crushed
  • 1 carrot finely diced
  • 1 rib celery finely diced
  • 1 pound lean ground beef
  • ½ pound lean ground pork
  • 1 ¼ cups red wine or beef broth
  • 1 cup whole milk
  • 1 can whole tomatoes with juices, 28 ounces each
  • 4 tablespoons tomato paste
  • 1 teaspoon Italian seasoning
  • 1 bay leaf
  • ½ teaspoon salt more to taste
  • ¼ teaspoon black pepper
  • pappardelle or long pasta, for serving

Instructions 

  • In a large pot, cook onion in oil over medium heat until softened, about 3 to 4 minutes.
  • Add garlic, carrot, and celery, and cook until softened, about 5 minutes.
  • Add beef and pork. Break it up with a wooden spoon, until no pink remains. Drain fat.
  • Add the wine and simmer uncovered until evaporated, about 10 minutes. Add milk and simmer uncovered until evaporated, about 8 minutes.
  • Stir in tomatoes with juice, tomato paste, Italian seasoning, and bay leaf. Break tomatoes up with a spoon. Cover and simmer for 30 minutes or until thickened. Season with salt & pepper to taste.
  • Cook pasta according to package directions. Reserve 1 ½ cups of pasta water and drain the pasta well.
  • Toss pasta with sauce, adding pasta water to thin it out if needed.
  • Serve hot with parmesan cheese.

Video

Notes

Tomatoes: Whole tomatoes provide a bit of a thicker consistency, break them up with a spoon or with your hands before simmering. If possible, San Marzano tomatoes have the best flavor.
Wine: When using wine in cooking, use a wine you would drink (not cooking wine). 
Reserve some pasta water when draining the pasta. Not only can it be used to adjust the consistency of the sauce, adding a little to the sauce also helps it adhere to the pasta better. Be sure not to rinse the pasta after cooking.
For a thicker sauce, simmer a bit longer. For a thinner sauce, add pasta water.
  • Fridge – store in an airtight container or cover with plastic wrap for up to 4 days. 
  • Freezer – store in an airtight container, leaving about an inch for expansion, or in a zippered freezer bag for 2 – 3 months. 
To Reheat –  Defrost in the fridge. Heat it on the stovetop or in the microwave, stirring every 15 to 20 seconds, until heated through. 
4.94 from 713 votes

Nutrition Information

Calories: 359 | Carbohydrates: 14g | Protein: 26g | Fat: 18g | Saturated Fat: 6g | Cholesterol: 78mg | Sodium: 571mg | Potassium: 929mg | Fiber: 3g | Sugar: 8g | Vitamin A: 2112IU | Vitamin C: 18mg | Calcium: 126mg | Iron: 4mg

Nutrition information provided is an estimate and will vary based on cooking methods and brands of ingredients used.

Course Pasta, Sauce
Cuisine American, Italian
Homemade Bolognese Sauce in a bowl with pasta and a title
easy to make Homemade Bolognese Sauce with writing
close up of easy Homemade Bolognese Sauce on pasta with a title
thick and rich Homemade Bolognese Sauce in the pot and over pasta with a title

Categories:

, , ,

Recipes You’ll Love

About the author

Holly Nilsson is the creator of Spend With Pennies, where she creates easy, comforting recipes made for real life. She is also the author of “Everyday Comfort,” which promises to inspire even more hearty, home-cooked meals.
See more posts by Holly

Free eBook!

Subscribe to receive weekly recipes and get a FREE Bonus e-book: Quick & Easy Weeknight Meals!

You can unsubscribe anytime by clicking the “unsubscribe” link at the bottom of emails you receive.

4.94 from 713 votes (541 ratings without comment)

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating




Comments

  1. This was absolutely DELICIOUS! The layering of flavors and simmering the indicated time specified in the instructions is what really gives depth to the sauce.5 stars

  2. Delicious!
    I made this spur of the moment so had to use what I had on hand. I didn’t have whole milk so I used half cup heavy cream and half cup 2% milk. I also didn’t have canned whole tomatoes so I used Raos marinara sauce, which tends to be chunky. This was so good, it’ll be my go to bolognese!5 stars

  3. So amazingly good and easy to make! Thank you for posting this. Made exactly as directed and it turned out perfect. I used a can of San Marzano tomatoes and I think they just took it right over the top! My local Walmart sells fresh pappardelle and I served it with that. My new go-to meat sauce. Yum.5 stars

  4. The best sauce I have ever tasted. It is so full of flavor and richness that it will make you wonder why you never made it before. Used 1/2 lb. of breakfast sausage rather than ground pork and the flavor was still very Italian. Otherwise I followed the recipe exactly as written. Save this recipe because it will become a staple in your house.5 stars

  5. So yummy good. I made this tonight. I was out of milk, so used heavy whipping cream instead. I added lots of fresh and dried herbs, seasoned well, and a pinch of sugar for the acidity. This will be on rotation instead of regular spaghetti night. Loved it!5 stars

  6. I have made this tons of times. It’s absolutely perfect as written. However, I have used just beef, beef and pork, beef and Italian sausage, even ground turkey and it turns out delicious. I typically add a jar of my homemade canned tomato purée and a Parmesan rind. Thank you for this and all of your other wonderful recipes!5 stars

  7. This was delicious and my whole family loved it. The only ingredient I didn’t have on hand was ground pork. Didn’t matter, it was amazing with just ground beef! Will definitely make this again! TY!5 stars

  8. I just made this and it was very well received! One guest is lactose intolerant so I had to skip the milk and used beef bouillon instead. I also read a tip and so also added 2 teaspoons of crushed Fennel seeds.5 stars

  9. awesome we make this at least twice a month… it the closest to a true Bolognese sauce. thank you we use your recipes often4 stars

    1. Hi Judy, you will need about 2oz dry pasta per serving. This recipe serves 6 so I would suggest 12 oz pasta.

  10. An excellent recipe worth saving. ! The only thing I change is the ORDER in the directions.
    1) I reverse the order of step 1&2. I brown the meats first. Being sure to crumble well. Then I drain off all but 1 to 2 tablespoons of fat. This does 2 things. 1) It eliminted trying to spoon off excess fat later. & 2) It think ?? it eliminates draining off the SOME of flavor of onion carrot & celery. (Just a guess ) After that I make a bare spot in the pan and add the tomato paste & brown that very briefly.I think the brief browning adds a bit more flavor. Then I turn up the heat somewhat to deglaze the pan with the wine, making sure to scraping up any browned pieces( fond) on the bottom of the pan. I THINK turning up the heat just before adding the wine MIGHT quicken up the time in cooking off time of the wine ??? T then I turn the heat BACK DOWN and proceed as written. One tip is to have the milk at room temp or slightly warmed in the microwave. OR at least NOT cold out of the fridge.
    The rest is just choice of brands. I use ONLY San Marzano whole Italian tomatoes. NOT JUST san marzano “style”. Huge difference , I like Centro . But whatever brand of San Marzano Tomatoes you like is fine. NOT diced tomatoes by the way b/c they are chemically treated to not break down, unless you pulse in a blender or food processor .
    Long story short. Good recipe worth saving & making5 stars

  11. Just a question. For the 28 oz can of tomatoes, with the “Juice”, Is that a thin juice or more like a puree that the tomatoes are in. Is their a brand that you prefer?5 stars

    1. Hi GMJ, the juice is referring to the liquid in the can with the whole tomatoes. Your favorite brand will work just fine in this recipe! Enjoy!

  12. I used this recipe as a base for a Bolognese sauce but changed some of the ingredients. It turned out great! Here’s what I did:
    – doubled the carrot and celery
    – excluded the milk (to make it dairy free) and substituted chicken broth
    – reduced the salt to 1/4 teaspoon
    – reduced the italian seasoning to 1/2 teaspoon
    – added 1 teaspoon chopped fresh basil
    – added 1.5 teaspoons soy sauce (for umami flavor)
    – added 1/4 teaspoon crushed red pepper flakes
    – added about 1/4 teaspoon of instant coffee (for some flavor depth)
    – added about 1 tablespoon of vegan butter at the very end (dairy free and for richness)

    It took longer than the recipe stated to reduce the red wine and then chicken broth (instead of milk). I was using a large enameled cast iron pan which worked great and used paper towels to soak up the grease after cooking the meat (easier than using a spoon). I also used the 1/4 inch dicer on a vegetable chopper to chop up the onions, carrot, and celery. Before using the chopper, I quartered the onion, and cut the carrots/celery into 2 inch pieces before quartering them lengthwise (so they would go through the chopper easier).5 stars

  13. I’ve tried making this recipe a few times hoping it was a fluke but have to agree with other users that it takes 2-3x the time specified for the wine and milk to evaporate. The recipe tastes decent but a lot of time spent for an average bolognese3 stars

    1. The larger the pot the quicker it is to evaporate. I use a fairly large dutch oven with a wide base and it takes approximately 7-9 minutes. If you used a skinnier soup pot it would take longer. I hope this helps Taylor.

  14. so delicious. absolutely restaurant quality bolognese sauce. my guests had seconds if not more! highly recommend saving this recipe.5 stars