Heat olive oil in a large Dutch oven over medium-high heat. Season the lamb shanks generously with salt and pepper.
Sear the lamb shanks on all sides until golden brown, about 8 to 10 minutes. Remove them from the pot and set aside.
In the same pot, add the diced onion and carrots. Sauté for 5 minutes until softened. Stir in the minced garlic and cook for 1 additional minute.
Stir in the tomato paste and cook for 2 minutes, allowing it to caramelize and deepen in flavor.
Pour in the red wine, using a wooden spoon to scrape up any browned bits from the bottom of the pot. Bring to a simmer and let it reduce for 5 minutes.
Pour in the beef broth and add the fresh thyme and rosemary sprigs. Return the seared lamb shanks to the pot.
Cover the Dutch oven and transfer to a preheated 325°F (160°C) oven. Braise for 2.5 to 3 hours, turning the shanks halfway through, until the meat is incredibly tender and falling off the bone.
While the lamb finishes cooking, boil the small potatoes in salted water until fork-tender. Drain well and mash with heavy cream, butter, salt, and pepper.
Serve the warm lamb shanks over the mashed potatoes, ladling the reduced red wine pan sauce over the top. Garnish with fresh chopped parsley.