Add fennel, coriander, and peppercorns to a small saucepan and toast until aromatic over medium heat for about 2-3 minutes.
Transfer toasted spices to a mortar and pestle or a spice grinder along with the chili flakes and grind into a powder. Stir in salt.
Season the lamb shanks all over with all of the spice mix. You can even season the lamb shanks the night before and let them sit in the fridge uncovered for even more flavor.
Add shallots, parsnips, and garlic to a large baking dish. Season with salt and pepper. Place lamb shanks on top of vegetables and pour marsala around the meat. Cover with parchment, and then tightly with foil. Be sure to tightly seal the pan with foil so no steam can escape.
Bake for 3-3 ½ hours, until the lamb is very tender.
Meanwhile, make the agrodolce. Add red wine vinegar, water, dried cherries, and mustard seeds to a small saucepan. Bring to a boil over medium heat, reduce heat to very low, and simmer for 30 minutes, until mustard seeds and cherries are soft. Add in maple syrup, increase heat to medium, and continue to cook until bubbling and syrupy, 5-7 minutes. Season with salt to taste. Set aside.
Once the lamb is tender, remove the parchment and foil. Increase the oven temperature to 450F, and transfer the uncovered lamb back to the oven. Roast until lamb has browned a bit, 15-20 minutes.
Serve the lamb alongside the roasted vegetables, topped with some pan drippings, some agrodolce, and torn herbs. This is a complete meal as is, but is also great with some steamed white rice on the side too*
Video
Notes
*If desired, you can carefully pour out all the pan drippings, strain it through a fine mesh sieve, and skim off some fat. I personally like the fat, but either way is great!