Preheat your oven to 325°F (163°C).
In a large Dutch oven or heavy pot, heat the olive oil over medium-high heat. Season the beef shank with salt and pepper, then sear it in the pot until browned on all sides, about 4-5 minutes per side. Remove the beef and set aside.
In the same pot, add the chopped onion, garlic, carrots, and celery. Sauté for about 5-7 minutes, until the vegetables are softened.
Stir in the tomato paste, thyme, and rosemary, cooking for an additional minute until fragrant.
Pour in the red wine (if using) and scrape the bottom of the pot to deglaze, then let it simmer for 2-3 minutes. If not using wine, skip this step and go directly to the next.
Return the beef shank to the pot, add the beef broth, and bay leaves. Bring to a simmer.
Cover the pot with a lid and transfer it to the preheated oven. Braise for 2.5 to 3 hours, or until the meat is tender and easily pulls away from the bone.
Once done, remove the pot from the oven and let it rest for 10 minutes. Discard the bay leaves before serving.
Serve the beef shank with the vegetables and broth, garnished with fresh parsley.