Preheat oven to 350°. Remove zest from lemon in strips, then chop fine. Transfer zest to a small bowl, cover with plastic wrap, and set aside. Cut lemon in half. Working over a large dish, rub shanks with lemon halves, squeezing lemon to release juices, then discard rinds. Generously season shanks with salt and pepper and set aside.
Melt butter and 2 tbsp. olive oil in a deep heavy roasting pan over medium heat. Add onions and garlic and cook, stirring often, until onions are soft, about 5 minutes. Add carrots and celery and cook, stirring often, until vegetables are hot, about 3 minutes. Transfer vegetables with a slotted spoon to a bowl and set aside.
Increase heat to medium-high, add remaining 2 tbsp. oil to roasting pan, and brown shanks on all sides, about 10 minutes. Pour stock and wine over shanks, season to taste with salt and pepper, then return vegetables to roasting pan. Tuck bay leaf into vegetables and lay all but 3 branches of mint over vegetables. Cover and bake until shanks are very tender and the meat falls away from the bone, about 3 hours.
Remove bay leaf and skim fat from liquid. Chop remaining mint leaves and sprinkle over shanks, along with chopped parsley and reserved zest. Serve with mashed potatoes, if you like.