A rich, slow-simmered Italian meat sauce perfect for pasta night. This authentic recipe takes about 3 hours but most of that is hands-off simmering time. Great for beginners looking to master a comforting, crowd-pleasing dinner that tastes even better the next day.
Finely dice the onion, celery, and carrot into small, uniform pieces (about 1/4 inch). This mixture is called soffritto and forms the flavor base of your sauce. Mince the garlic cloves.
Heat 2 tablespoons of olive oil in a large, heavy-bottomed pot or Dutch oven over medium-high heat. Add the ground beef and pork, breaking it up with a wooden spoon. Cook for 8-10 minutes until the meat is browned and no longer pink. Don't stir too often—let it develop color.
Once the meat is browned, use a slotted spoon to transfer it to a bowl, leaving most of the rendered fat in the pot. Pour off all but about 2 tablespoons of fat, or add a bit more olive oil if the pot looks dry.
Reduce heat to medium. Add the diced onion, celery, and carrot to the pot. Cook for 8-10 minutes, stirring occasionally, until the vegetables are soft and the onion is translucent. Add the minced garlic and cook for another minute until fragrant.
Stir in the tomato paste and cook for 2-3 minutes, stirring constantly. This caramelizes the paste and removes any raw taste, adding depth to your sauce.
Pour in the red wine and use your wooden spoon to scrape up any browned bits stuck to the bottom of the pot. Let the wine simmer for 3-4 minutes until it's reduced by about half and the alcohol smell has cooked off.
Return the browned meat to the pot. Add the crushed tomatoes, beef stock, and milk. The milk adds richness and helps tenderize the meat. Stir everything together well.
Add the bay leaves, dried oregano, salt, and black pepper. Stir to combine. Taste and adjust seasoning—remember, it will concentrate as it cooks.
Bring the sauce to a gentle simmer, then reduce heat to low. Partially cover the pot with a lid (leave it slightly ajar so steam can escape). Simmer gently for 2-2.5 hours, stirring every 20-30 minutes. The sauce should bubble very gently and thicken considerably.
After 2 hours, check your sauce. It should be thick and rich, with the fat rising to the surface. If it's too thick, add a splash of stock or water. If too thin, simmer uncovered for another 15-20 minutes. Remove the bay leaves.
Taste the sauce and adjust salt and pepper as needed. The flavors should be deep and well-rounded. If it tastes slightly acidic, add a pinch of sugar to balance it out.
Bring a large pot of salted water to a rolling boil. Cook your pasta (tagliatelle, pappardelle, or spaghetti work great) according to package directions until al dente. Reserve 1 cup of pasta water before draining.
Add the drained pasta directly to the pot with the bolognese sauce. Toss together for 1-2 minutes over low heat, adding splashes of reserved pasta water if needed to help the sauce coat the pasta. The starchy water helps bind everything together.
Divide the pasta and sauce among warm bowls. Top with freshly grated Parmesan cheese and torn fresh basil leaves if desired. Serve immediately with extra Parmesan on the side.