Build the Flavor Base: Begin by heating olive oil in a large heavy pot over medium heat. Add onion, carrot, and celery. Stir slowly and cook until everything softens and turns slightly sweet. This step creates the foundation of the sauce, so take your time and let the vegetables release their aroma.
Brown the Beef: Add the ground beef to the pot and break it apart with a spoon. Stir often so it cooks evenly and develops color. Season with salt and pepper while it cooks. Once the beef loses its pink color and looks lightly browned, add the garlic and cook briefly until fragrant.
Add Tomato Elements: Stir in the tomato paste and let it cook for a minute so it deepens in color. Pour in crushed tomatoes and beef broth. Mix everything well and scrape the bottom of the pot to lift any browned bits. These bits add richness to the sauce.
Simmer the Sauce: Add basil, oregano, and bay leaf. Lower the heat and let the sauce simmer gently for at least 45 minutes. Stir occasionally so nothing sticks. The sauce thickens slowly and the flavors blend together as it cooks.
Finish with Milk: Pour in the milk and stir gently. Let the sauce cook for another 10 minutes. This step softens the acidity of the tomatoes and gives the sauce a smooth texture. Remove the bay leaf before serving.