01 - Preheat oven to 320°F.
02 - Pat beef shanks dry and season generously with salt and freshly ground black pepper.
03 - Heat olive oil in a large Dutch oven over medium-high heat. Sear beef shanks on all sides until deeply browned, about 3 to 4 minutes per side. Remove and set aside.
04 - In the same pot, add chopped onion, sliced carrots, and celery. Sauté for 5 minutes until vegetables soften. Add minced garlic and cook for 1 more minute.
05 - Stir in tomato paste and cook for 1 minute to deepen flavor.
06 - Pour in dry red wine, scraping up browned bits from the bottom of the pot. Simmer for 2 minutes to reduce slightly.
07 - Return beef shanks to the pot. Add beef stock, rosemary sprigs, thyme sprigs, and bay leaves.
08 - Bring to a simmer, cover with lid, and transfer to the preheated oven.
09 - Cook for 3 hours, turning beef shanks halfway through, until meat is fork-tender and easily separates from the bone.
10 - Remove herbs and bay leaves. Skim excess fat if desired and adjust seasoning to taste. Serve beef shanks with braised vegetables and sauce spooned over the top.