Heat the olive oil in a large skillet over medium-high heat.
Season the lamb with salt and pepper, then brown it in the skillet on all sides, about 3-4 minutes per side.
Layer the onion on the bottom of a 6-quart slow cooker, then place the lamb on top. Sprinkle the garlic and rosemary on top of the roast and pour in the beef stock. Cook on low for 6-8 hours, until the lamb is extremely tender.
Remove the lamb from the slow cooker, place on a serving plate, and keep warm. Strain the liquid into a saucepan and bring to a simmer. In a separate cup, dissolve the arrowroot powder in 2 tablespoons of warm water, then add it to the saucepan. Simmer, stirring occasionally, until the gravy has thickened, about 5-6 minutes.