Preheat the oven to 325°F. Season the veal shanks with salt and pepper, then dust with flour, shaking off the excess.
In a large Dutch oven, heat the olive oil over medium-high heat. Brown the veal shanks on all sides, about 3-4 minutes per side. Remove the shanks and set aside.
In the same pot, add the onion, carrot, celery, and garlic. Sauté until the vegetables are softened, about 5 minutes.
Pour in the white wine, scraping up any browned bits from the bottom of the pot. Let it simmer for 2-3 minutes.
Stir in the diced tomatoes, beef broth, thyme, and bay leaf. Return the veal shanks to the pot, ensuring they are submerged in the liquid.
Cover the pot 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.
While the osso buco is cooking, prepare the creamy polenta. In a medium saucepan, bring 4 cups of water and 1 teaspoon of salt to a boil. Gradually whisk in the polenta.
Reduce the heat to low and cook, stirring frequently, for about 30 minutes, until thick and creamy. Stir in the Parmesan cheese and butter until melted and well combined.
Once the osso buco is done, remove it from the oven and let it rest for a few minutes. Discard the bay leaf and stir in the lemon zest and parsley.
Serve the osso buco over a bed of creamy polenta, garnished with additional parsley if desired.