Heat a large ovenproof casserole over high heat and heat oil until hot. Add the veal shanks and adjust the heat as needed.
Brown the veal shanks in the hot oil for about 5 minutes on each side, or until browned. Remove from the pan and set aside. If the oil turns dark during the process, discard it and heat fresh oil.
Add the carrots, celery, onion, and garlic to the pan and cook over medium-high heat for 2 to 3 minutes, stirring constantly.
Add the wine to deglaze the pot. Bring to a boil and cook for about 2 minutes, or until the wine is reduced by half.
Add the tomato paste and cook until fragrant.
Stir in the stock and add the tomatoes, thyme, rosemary, and bay leaf.
Return the veal shanks to the pan and bring to a boil over high heat. Once the liquid boils, cover, transfer to the oven, and cook for 2 1/2 hours, until the meat is fork tender and falling off the bones.
Remove the herbs from the braising liquid and discard. Remove the veal shanks and set aside.
Strain the liquid through a fine-mesh sieve or chinois into a large saucepan. Bring to a boil over medium-high heat, reduce the heat, and simmer for 10 to 15 minutes, or until reduced by a quarter. Using a skimmer or large spoon, skim off any grease or foam that rises to the surface. Return the strained vegetables to the liquid and taste for seasoning.
To serve, cut and discard the twine, put a single veal shank in a bowl, and ladle about 3/4 cup of the sauce and vegetables over it. (If the sauce and the meat are not still warm, heat them together very gently over low heat for 8 to 10 minutes.)
Garnish each osso bucco with lemon zest and chopped parsley. Serve with polenta.