Heat olive oil in a large pot over medium heat. Add diced onion and minced garlic, sauté until onion is translucent.
Add the pre-soaked lentils, cubed sweet potato, and sliced carrots to the pot. Stir for a couple of minutes.
Pour in the vegetable broth, add the canned tomatoes, smoked paprika, cumin, bay leaf, salt, and pepper. Bring to a boil.
Reduce heat, cover, and simmer for 20 minutes or until lentils and vegetables are almost tender.
Stir in the kidney beans, chopped spinach, and shredded cabbage. Simmer for another 10 minutes.
Remove the bay leaf, adjust seasoning if necessary.
Serve hot, optionally garnished with fresh parsley or cilantro.