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 or ovenproof pot over medium-high heat. Sear beef shanks on all sides until deeply browned, approximately 3 to 4 minutes each side. Remove and set aside.
04 - In the same pot, add chopped onion, sliced carrots, and celery. Sauté for 5 minutes until softened. Add minced garlic and cook for an additional minute.
05 - Stir in tomato paste and cook for 1 minute to deepen flavor.
06 - Pour in red wine, scraping 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, fresh rosemary, thyme, and bay leaves.
08 - Bring to a simmer, cover pot, and transfer to preheated oven. Braise for 3 hours, turning shanks halfway through, until meat is fork-tender and falling off the bone.
09 - Remove herbs and bay leaves. Skim excess fat if desired. Adjust seasoning to taste. Serve beef shanks with braised vegetables and sauce spooned over the top.