Preheat your oven to 325°F (165°C).
Pat the lamb shanks completely dry with paper towels. Season generously on all sides with kosher salt and black pepper.
Heat the olive oil in a large Dutch oven over medium-high heat. Add the lamb shanks in batches if necessary, searing until a deep golden brown crust forms on all sides, about 8-10 minutes. Remove the shanks and set aside on a plate.
Lower the heat to medium. Add the diced onions and chopped carrots to the pot. Sauté for 5-7 minutes until the onions become translucent.
Stir in the minced garlic and tomato paste. Cook for 1-2 minutes until the tomato paste darkens in color and becomes fragrant.
Pour in the beef broth, scraping the bottom of the Dutch oven with a wooden spoon to release any browned bits.
Return the lamb shanks to the pot along with any resting juices. Add the fresh rosemary and thyme sprigs. The liquid should cover about half to three-quarters of the shanks.
Bring the liquid to a gentle simmer, cover the Dutch oven with a tight-fitting lid, and transfer it to the preheated oven.
Braise for 2.5 to 3 hours, or until the lamb is extremely tender and easily pulls away from the bone.
Remove the pot from the oven. Discard the herb stems. Skim any excess fat from the surface of the gravy.
Serve the lamb shanks hot over a bed of mashed potatoes, ladling the rich gravy and tender carrots over the top. Garnish with chopped fresh parsley.