Season the veal shanks with salt and pepper, then dredge them in flour, shaking off any excess.
Heat the olive oil in a large Dutch oven over medium-high heat. Brown the veal shanks on all sides until golden brown, then set aside.
In the same pot, add the chopped onion, carrots, celery, and garlic. Cook until the vegetables are softened, about 5 minutes.
Deglaze the pot with white wine, scraping up any browned bits from the bottom.
Add the beef or chicken broth, diced tomatoes, bay leaves, and dried thyme. Return the veal shanks to the pot.
Cover and simmer over low heat for 2-3 hours, or until the meat is tender and falls off the bone.
In a small bowl, mix together the gremolata ingredients (lemon zest, minced garlic, chopped parsley).
Serve the Osso Buco hot, garnished with the gremolata on top. Enjoy!