In a high-speed blender, add the onion and pulse/blend until finely chopped. Transfer to a large pot over medium-high heat along with the olive oil and ½ teaspoon salt. Add the carrots and celery to the blender and pulse/blend until finely chopped and transfer to the pot. Alternatively, you can chop them by hand.
Cook until softened and most of the water has evaporated, about 5 minutes, stirring occasionally.
Add the chili powder, cumin, oregano, cinnamon, and garlic and stir constantly for 30 seconds. Add in the tomato paste and cook for 2 minutes, stirring occasionally (to caramelize the tomato). Stir in the potatoes, lentils, and ½ teaspoon salt to coat them in the spices and tomato. Stir in the water, soy sauce, and remaining ½ teaspoon salt.
Increase the heat to high, cover, and bring to a boil. Give it a stir, then reduce the heat to medium-low to keep it at a rapid simmer and cook, covered, for 30 minutes, or until the lentils are cooked through, stirring halfway through. Transfer about 2 cups of the soup to a high-speed blender and blend on high until smooth (let the steam escape!). Stir back into the pot.
Stir in the spinach (if using), submerging it into the liquid, and cook until wilted, about 2 minutes. Remove from heat and stir in the lime juice. Taste and add more salt, if needed.
Toss the apples in lime juice and salt. Serve chili topped with cheese (if using) and apples.