Preheat your oven to 325°F (163°C).
Season the pork shanks with salt and pepper on all sides.
In a large oven-proof pot or Dutch oven, heat the olive oil over medium-high heat. Add the pork shanks and sear them until they are browned on all sides, about 3-4 minutes per side. Remove the shanks and set aside.
In the same pot, add the onion, celery, and carrot. Sauté until the vegetables are softened, about 5 minutes.
Add the minced garlic and cook for another minute until fragrant.
Pour in the white wine to deglaze the pot, scraping up any browned bits from the bottom.
Stir in the crushed tomatoes and beef broth. Add the thyme and bay leaves, then bring the mixture to a simmer.
Return the pork shanks to the pot, ensuring they are submerged in the liquid. Cover the pot with a lid or foil.
Transfer the pot to the preheated oven and braise for about 2 hours, or until the meat is tender and falls off the bone.
Carefully remove the pot from the oven and take out the pork shanks. Tent them with foil to keep warm.
Place the pot over medium heat and simmer the sauce for an additional 10 minutes to reduce and thicken it slightly.
Mix in the lemon zest and adjust seasoning with salt and pepper as needed.
Serve the pork shanks with the sauce spooned over the top, garnished with chopped parsley and grated Parmesan cheese.