- 1 tbsp. extra-virgin olive oil
- 1 onion, chopped
- 1 carrot, peeled and finely chopped
- 1 stalk celery, finely chopped
- 1 lb. ground beef
- 2 cloves garlic, minced
- 1/2 c. dry white wine
- 1 (15-oz.) can crushed tomatoes
- 3 tbsp. tomato paste
- 2 c. low sodium beef (or chicken) broth
- 1 bay leaf
- 1 c. whole milk
- 3/4 tsp. kosher salt
- Freshly ground black pepper
- In a large dutch oven over medium-high heat, heat oil.
- Add onion, carrot, and celery, and cook until soft, about 7 minutes.
- Stir in beef and garlic, breaking up meat with back of a spoon. Cook until no longer pink and lightly seared, about 8 minutes.
- Add wine, and bring mixture to a simmer. Cook until wine is mostly reduced.
- Stir in tomatoes, tomato paste, stock, and bay leaf, then reduce heat and simmer for 1 hour, allowing flavors to meld.
- Discard bay leaf, then gradually stir in milk.
- Cover with a lid slightly ajar and simmer, stirring occasionally, until milk is fully incorporated, about 45 minutes. Season with salt and pepper.