Classic Beef Bolognese
Cooking

Classic Beef Bolognese

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.

Serves 6-8
AM
Alex M.· Sep 8, 2026
0 of 14 done

Prep your vegetables

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.

1 large onion2 celery stalks1 large carrot4 garlic clovescutting boardchef's knife

Brown the meat

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.

500g ground beef250g ground pork2 tbsp olive oillarge heavy-bottomed potwooden spoon

Remove excess fat

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.

slotted spoonbowl

Cook the soffritto

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.

diced vegetablesminced garlicwooden spoon

Add tomato paste

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.

3 tbsp tomato paste

Deglaze with wine

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.

200ml red wine

Add liquids and meat back

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.

800g crushed tomatoes250ml beef stock125ml whole milkbrowned meat

Season and add herbs

Add the bay leaves, dried oregano, salt, and black pepper. Stir to combine. Taste and adjust seasoning—remember, it will concentrate as it cooks.

2 bay leaves1 tsp dried oregano1 tsp salt1/2 tsp black pepper

Simmer low and slow

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.

pot lid

Check and adjust consistency

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.

wooden spoon

Final seasoning

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.

saltblack peppermeasuring spoon

Cook your pasta

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.

pasta of choicelarge potsaltcolandermeasuring cup

Combine pasta and sauce

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.

cooked pastareserved pasta watertongs

Serve

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.

serving bowlsfreshly grated Parmesanfresh basil