Pat the veal shanks dry with paper towels and season them with salt and pepper.
Dredge each shank in flour, shaking off any excess.
In a large, heavy-bottomed pot or Dutch oven, heat 2 tablespoons of olive oil over medium-high heat.
Add the veal shanks and brown them on all sides, about 3-4 minutes per side. Remove the shanks from the pot and set aside.
In the same pot, add the remaining 2 tablespoons of olive oil.
Add the chopped onion, diced carrots, and diced celery. Cook until the vegetables are softened, about 5-7 minutes.
Stir in the minced garlic and cook for another minute.
Pour in the dry white wine, scraping up any browned bits from the bottom of the pot.
Add the diced tomatoes, beef or chicken broth, bay leaf, dried thyme, and dried rosemary.
Return the veal shanks to the pot, submerging them in the liquid.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for about 1.5 to 2 hours, or until the meat is tender and falling off the bone.
In a small bowl, combine the lemon zest, finely chopped parsley, and minced garlic.
Taste the sauce and adjust seasoning with salt and pepper if needed.
Remove the bay leaf from the pot.
Enjoy your meal!