Preheat the oven to 325°F.
Season the lamb shanks with salt and pepper. Heat a drizzle of oil in a large skillet set over medium-high heat and brown the lamb on all sides, working in batches so you don’t crowd the pan. Transfer to a roasting dish as you go.
Add a little more oil to the skillet and sauté the onions and carrots for about 5 minutes, until soft. Add the garlic, rosemary (if you’re using chopped rosemary), bay leaf, and pepper and cook for another minute or two.
Add the wine, tomato paste, vinegar, and sugar and bring to a simmer. Add the stock and bring it to a boil. Pour the mixture over the lamb shanks in the roasting pan, add any whole sprigs of rosemary or thyme you want to use, and cover tightly with a lid or foil.
Bake for 2 1/2-3 hours, turning the lamb shanks once or twice, until the meat is very tender.
Remove the lamb from the sauce and skim as much fat from the surface as you can. Leave the vegetables or strain them out and purée them in a blender or food processor, then return the purée to the pot. Season with salt and pepper. Serve the lamb shanks over mashed potatoes, topped with the sauce.