01 - Set oven to 325°F to warm up.
02 - Pat beef ribs dry and evenly season with salt and pepper.
03 - Heat olive oil in a large oven-safe Dutch oven over medium-high heat; sear ribs in batches for 2–3 minutes per side until deeply browned. Remove and set aside.
04 - Add chopped onion, carrots, and celery to the pot; cook for 5 minutes until softened. Stir in minced garlic and cook 1 additional minute.
05 - Incorporate tomato paste and cook for 1 minute. Pour in red wine, scraping up browned bits, and simmer 3–4 minutes to reduce slightly.
06 - Pour beef broth into the pot, add thyme, rosemary, and bay leaves, then nestle ribs back in ensuring they are mostly covered by liquid.
07 - Bring mixture to a simmer, cover the pot, transfer to oven, and cook for 2 to 2.5 hours until ribs are tender and falling off the bone.
08 - Remove ribs and vegetables to a serving dish, discard herb sprigs and bay leaves. Skim fat from sauce and simmer uncovered on stovetop for 10 minutes to thicken if preferred. Spoon sauce over ribs when serving.