Pat short ribs dry with paper towels
Season all sides generously with salt and black pepper
Heat a heavy pot or Dutch oven over medium-high heat
Add 1–2 tbsp oil and sear ribs in batches until deeply browned, 3–5 minutes per side
Remove ribs to a plate
Reduce heat to medium and sauté onions (and carrots/celery if using) until softened, 5–8 minutes
Add garlic and cook 30–60 seconds
Stir in tomato paste (optional) and cook 1–2 minutes
Deglaze the pot with red wine or broth, scraping browned bits from the bottom
Add remaining liquid (beef broth/wine or a mix), plus herbs (thyme/rosemary/bay leaf) and aromatics
Return ribs to the pot, making sure they’re mostly submerged
Cover and braise in the oven at 300–325°F (150–165°C) until very tender
Braise times:
Bone-in: 2.5–3.5 hours
Boneless: 2–3 hours
Check doneness when meat easily pulls apart with a fork
For extra richness (optional): skim excess fat from the surface
Simmer uncovered 10–20 minutes to thicken sauce, or strain and reduce sauce separately
Serve ribs with the sauce
Optional finishing: broil/grill briefly after braising for caramelized edges
