Heat the olive oil in a large pot over medium heat. Add the onion and cook until it softens, about 5 minutes. Stir in the garlic, cumin, coriander, and cinnamon and cook for 1 minute until fragrant.
Add the lentils, sweet potato cubes, diced tomatoes, and vegetable broth. Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 25 minutes, stirring occasionally.
Stir in the harissa paste and season with salt and pepper. Continue simmering uncovered for 10 more minutes until the lentils are tender and the sweet potatoes are soft. Remove from heat and let the stew rest for 5 minutes before serving. Top each bowl with chopped cilantro.