Season the beef with salt and pepper. In a heavy-bottomed Dutch oven, heat the olive oil over medium-high heat and brown the beef in batches until all sides are caramelized. Remove the beef and set aside.
Add the chopped onion, carrots, and celery to the same pot. Sauté until the vegetables are soft and begin to caramelize, about 8–10 minutes. Stir in the minced garlic and tomato paste, cooking for an additional 2 minutes until fragrant.
Pour in the red wine to deglaze the pot, scraping up the browned bits from the bottom.
Return the beef to the pot and add the crushed tomatoes, beef broth, bay leaf, dried thyme, dried oregano, and red pepper flakes. Stir to combine.
Bring the mixture to a gentle simmer, then cover and cook on low heat for 2½ to 3 hours until the beef is tender and the flavors have melded together.
Remove the bay leaf, adjust seasoning as needed, and garnish with fresh basil or parsley before serving. Serve hot over pasta, polenta, or mashed potatoes.
Notes
Allow the sauce to rest for 10 minutes after cooking to enhance flavor melding. For a thicker sauce, simmer uncovered during the last 30 minutes. This dish also improves with next-day reheating.