Preheat oven to 300 degrees F.
Heat the olive oil in a Dutch oven over medium-high heat. Sprinkle the lamb with 2 teaspoons of the salt and brown in the hot oil on all sides. Remove the lamb to a plate and pour off any excess fat from the pan.
Pour the tomatoes into a large bowl and, using your hands, shred them into small pieces. Set aside.
Add the onions, fennel, carrots (if using), garlic, and the remaining 1 teaspoon of salt to the pot. Cook, stirring and scraping any browned bits off the bottom of the pot, until the garlic is lightly toasted, 3 to 4 minutes. Squeeze in the lemon juice from each half and toss the lemon rinds into the pot. Stir in the wine, tomatoes and ginger, scraping any browned bits up from the bottom of the pot, and bring to a simmer; cook for about 3 minutes.
Stir in the cinnamon, coriander, fennel seeds and ¾ cup water, then add the lamb to the pot. Cover and bake in the oven until the lamb is fork-tender and falls easily off the bone, about 3 hours.
Arrange the lamb shanks on a platter. Stir the butter into the pan juices and, once melted, add the mint. Pour the sauce over the lamb, discard the cinnamon sticks, and serve.