In a large pot over medium heat, warm the oil. Add the onion, carrot, celery, and ½ teaspoon salt and cook, stirring occasionally, until softened, about 5 minutes. Add the tomato paste, garlic, fennel, cumin, and red pepper flakes (if using), and cook for 1 more minute, stirring often.
Add the potatoes, cabbage, and ½ teaspoon salt and cook for 1 more minute, stirring often. Add the lentils, water, soy sauce or tamari, and remaining ½ teaspoon salt. Bring to a boil, then reduce heat to low and simmer, covered, for 10-15 minutes or until lentils are tender and potatoes are cooked through, stirring halfway. Remove from heat and stir in the lemon juice.
Meanwhile, make the cilantro oil by mixing all of the ingredients in a small bowl.
Serve the soup topped with a good drizzle of cilantro oil and a sprinkle of salt and pepper.