1.Preheat the oven to the highest temperature.
2.Lay half the sprigs of rosemary and half the garlic cloves on the bottom of a high-sided roasting pan. Rub the whole lamb shoulder with olive oil and season with salt and pepper. Place it in the pan on top of the rosemary and garlic, and put the rest of the rosemary and garlic on top of the lamb. Tightly cover the tray with aluminum foil and place in the oven. Turn the oven down immediately to 180 degrees C and cook for 3 hours 30 min - it's done if you can pull the meat apart easily with 2 forks.
3.Remove the lamb from the oven and place it on a chopping board. Cover it with foil, and leave it to rest.
4.Pour away most of the fat from the roasting pan, discarding any bits of rosemary. Put the pan on the stovetop over medium heat, add the mushrooms and mix in the flour. Add the canned cream, stirring and scraping off the bottom of the pan. Turn the heat down and simmer for a few minutes.
5.Serve the lamb shoulder in the serving dish and pour over some gravy on top. Serve the remaining gravy on the side.