Pat the veal shanks dry with a paper towel and dust them with flour, shaking off any excess.
In a large pot or Dutch oven, heat the olive oil over medium-high heat. Add the shanks and brown them on all sides, then remove and set aside.
Lower the heat to medium, add onions, carrots, and celery to the pot, and sauté until they are softened, about 5-7 minutes.
Add minced garlic and cook for an additional minute until fragrant.
Pour in the white wine and scrape up any browned bits from the bottom of the pot. Let it simmer until slightly reduced.
Return the veal shanks to the pot and add the beef broth, thyme, salt, and pepper. Bring to a simmer.
Cover the pot and reduce the heat to low. Let it braise for about 2 hours, or until the meat is tender and falling off the bone.
To make the gremolata, mix the parsley, garlic, and lemon zest in a small bowl.
Serve the osso buco hot, garnished with gremolata.