Preheat your oven to 325°F (160°C).
Season the beef shanks with salt and pepper, then dust them lightly with flour, shaking off any excess.
In a large Dutch oven, heat the olive oil over medium-high heat. Add the beef shanks and brown them on all sides, about 3-4 minutes per side. Remove the shanks and set them aside.
In the same pot, add the onion, carrot, celery, and garlic. Sauté until the vegetables are softened, about 5-7 minutes.
Pour in the white wine, scraping the bottom of the pot to deglaze it. Let it simmer for about 2-3 minutes.
Stir in the beef broth, diced tomatoes, tomato paste, thyme, and bay leaf. Bring the mixture to a simmer.
Return the beef shanks to the pot, ensuring they are submerged in the liquid. Cover the pot with a lid and transfer it to the preheated oven.
Cook for 2 to 2.5 hours, or until the meat is tender and falling off the bone.
Remove the pot from the oven and discard the bay leaf. Stir in the lemon zest and parsley before serving.