Heat the olive oil in a large Dutch oven over medium-high heat. Add the lamb cubes and cook until browned on all sides, about 6 to 8 minutes. Remove the lamb and set it aside.
Add the onion to the same pot and cook until softened, about 5 minutes. Stir in the garlic and cook for 1 minute more.
Add the cumin, coriander, cinnamon, smoked paprika, and cayenne pepper. Stir for 30 seconds until the spices smell fragrant.
Return the lamb to the pot. Add the sweet potatoes, turnips, diced tomatoes with their juice, and beef broth. Season with salt and black pepper.
Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 1 hour and 15 minutes, or until the lamb is tender and the vegetables are soft.
Taste and adjust seasoning if needed. Serve the stew in bowls topped with chopped cilantro and a squeeze of lemon.