For the ribs: In a large, heavy skillet, heat the oil over medium-high heat. Season the short ribs with salt and pepper and put about a third of them into the skillet. Sear them for 2 to 3 minutes on each side. Until browned, and transfer to a roasting pan. Sear the remaining ribs in batches, taking care not to crowd the pan with the ribs. Reduce the heat to low, add the prosciutto to the same skillet, and cook for 10 to 12 minutes, until the fat is rendered. Carefully pour off the fat and discard, keeping the prosciutto in the skillet.
Add the carrots, onion, fennel, and garlic and cook, covered, for about 20 minutes, until the vegetables soften. Add the lemon and orange zest, tomato puree, wine, stock, and red pepper flakes. Season to taste with salt if necessary and continue to cook for about 5 minutes longer. Preheat the oven to 375 degrees F. Pour the sauce over the ribs in the roasting pan, making sure they are nearly covered. If necessary, add more stock or water so that the liquid comes three-quarters of the way up the sides of the ribs. Cover tightly with aluminum foil and bake for 1½ hours. Remove the foil and bake for about 1 hour longer, until the ribs are very tender.
Transfer the ribs to a warm serving platter. Pour the sauce remaining in the pan into a saucepan, bring to a boil over medium-high heat, and cook until reduced to about 3 cups. Serve the ribs with the sauce.
For the mashed potatoes: In a 6-quart pot, cover potatoes with water and cook until potatoes are soft all the way through. Drain and cover to keep warm. In a 1-quart pot, heat the heavy cream and butter until hot, stirring frequently. Add the hot butter and cream to the warm potatoes and smash with a potato masher or large fork until you get a lumpy consistency. Season with salt and pepper to taste and set aside.