Warm the olive oil in a large, heavy pot over medium heat. Add onion, carrots, and celery.
Cook 5–7 minutes, stirring, until softened and slightly golden.
Add the garlic and cook 30 seconds, until fragrant. Push the vegetables to the sides and add the ground beef to the center.
Season with salt, pepper, oregano, basil, and red pepper flakes if using. Cook, breaking up the meat, until browned and no longer pink, about 5–6 minutes.
Spoon off excess fat if needed.
Stir in the tomato paste and cook 1–2 minutes to toast it. This deepens the flavor and reduces any raw taste.
Pour in the crushed tomatoes and 3 1/2 cups broth. Bring to a gentle boil.
Add the spaghetti, breaking it in half so it fits.
Press the pasta down so it’s submerged. Reduce heat to medium-low for a steady simmer.
Cook 10–14 minutes, stirring often to prevent sticking. Add more broth in small splashes if the sauce gets too thick before the pasta is al dente.
Taste and adjust seasoning.
Add sugar or a splash of balsamic if the sauce tastes overly sharp. For a creamier finish, stir in milk or half-and-half.
Turn off the heat and let the pot rest 2–3 minutes. The pasta will finish absorbing sauce and thicken slightly.
Garnish with chopped basil or parsley and serve with plenty of Parmesan.