Preheat your oven to 325°F (163°C).
Season veal shanks with salt and pepper, then dredge in flour, shaking off excess.
In a large Dutch oven or heavy-bottomed pot, heat olive oil over medium-high heat. Brown veal shanks on all sides, about 3-4 minutes per side. Remove shanks and set aside.
In the same pot, add chopped onions, carrots, and celery. Sauté until softened, about 5 minutes.
Add minced garlic and cook for another minute until fragrant.
Pour in white wine, scraping up any browned bits from the bottom of the pot. Allow to reduce by half.
Stir in diced tomatoes, tomato paste, beef broth, thyme, and bay leaves. Bring to a simmer.
Return the veal shanks to the pot, spooning the sauce over them.
Cover and transfer to the preheated oven. Braise for 1 1/2 to 2 hours, or until the meat is tender and falling off the bone.
Remove from oven and discard thyme sprigs and bay leaves.
In a small bowl, mix together lemon zest, chopped parsley, and minced garlic. Set aside.
In a medium saucepan, melt butter over medium heat. Add onion and cook until translucent, about 5 minutes.
Add Arborio rice and stir to coat in butter. Cook until edges of rice become slightly translucent, about 2 minutes.
Pour in white wine and cook, stirring, until absorbed.
Add warm chicken broth one ladle at a time, stirring continuously until each ladle is absorbed before adding the next.
Crush the saffron threads between your fingers and add to the risotto. Continue adding broth and stirring until the rice is creamy and al dente, about 20 minutes.
Remove from heat, stir in grated Parmesan cheese, and season with salt and pepper.