Season the veal shanks with salt and pepper, then dredge them in flour, shaking off any excess.
In a large Dutch oven, heat the olive oil and butter over medium-high heat. Add the veal shanks and brown them on all sides, about 8-10 minutes. 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 the bottom of the pot to deglaze. Let it simmer for about 2-3 minutes.
Add the beef broth, diced tomatoes, thyme, bay leaf, and the browned veal shanks back into the pot. Bring to a simmer, then cover and reduce the heat to low. Cook for about 1.5 to 2 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 the water or chicken broth to a boil. Slowly whisk in the cornmeal, reducing the heat to low. Cook, stirring frequently, until thickened, about 20-25 minutes.
Stir in the Parmesan cheese, butter, and salt to the polenta. Keep warm until ready to serve.
Once the osso buco is done, remove the bay leaf and stir in the lemon zest and parsley. Serve the osso buco over a bed of creamy polenta.