Preheat oven 350 Degrees F.
Pat dry beef or veal shanks with paper towel and then tie kitchen twine around each veal shank so that veal will hold shape while cooking.
Season with salt and pepper. Lightly coat each beef shank with flour, shake off any excess flour. Set aside.
In a large cast iron or Dutch oven, heat oil over medium-high heat. Sear the shanks in the hot oil, turning to brown all sides. Remove and set aside.
Add butter, as soon as butter melts - add onion, carrot, garlic, thyme, rosemary, celery and Italian seasoning to the same pan and cook, stirring frequently until fragrant and onions are wilted - about 5 minutes.
Pour in wine and add bay leaf, continue cooking for about 3 minutes.
Add canned tomatoes and paste and continue cooking for about for about 5 minutes.
Return the shanks back to the pot , pour in stock, bring to a boil.
Lightly season with salt and pepper. Remember you can adjust salt as you go half -way through cooking.
Turn off heat, cover. Place in preheated oven and cook for about 1 ½ - 2 hours, checking periodically to ensure there is enough liquid. If the liquid is too low, add enough broth or water to keep the level about halfway up the shanks.
To check for doneness, pierce shank with a fork. The meat should pull apart easily.
Transfer the shanks to a plate or serving platter and proceed with gremolata. The gremolata can be made while osso buco is cooking.
To make gremolata finely chop the parsley, add lemon zest and juice. Season with salt and pepper. Mix well. Refrigerate until ready to use.