Pat the lamb shanks dry and season them with salt and pepper. Heat the olive oil in a large Dutch oven over medium-high heat. Brown the shanks on all sides, about 8 minutes total. Remove them to a plate.
Lower the heat to medium. Add the onion and cook until softened, about 5 minutes. Stir in the garlic and cook for 1 minute more.
Pour in the chicken broth and scrape the bottom of the pot. Add the cannellini beans and rosemary sprigs. Return the lamb shanks to the pot and bring the liquid to a simmer.
Cover the pot, reduce the heat to low, and cook for 2 hours until the meat is very tender and pulls away from the bone easily.
Remove the rosemary sprigs. Stir in the kale and let it wilt for 5 minutes. Taste and adjust salt and pepper as needed.
Ladle the stew into bowls and top each serving with grated Parmesan cheese.