Rinse lentils and discard any broken or misshapen lentils.
In a large pot over medium-high heat, add olive oil. Add onion and garlic and cook until softened, about 5 minutes. Add carrot, celery, and red pepper and cook until softened, about 3 minutes.
Stir in broth, lentils, tomatoes, paprika, cumin, and pepper. Bring to a boil, then reduce heat to low, cover, and simmer until lentils are tender, about 30 minutes.
Using an immersion blender, blend about 1/3-1/2 of the soup to create a thicker texture, leaving some lentils and veggies intact.
Stir in spinach and cook until wilted, about 1 minute. Stir in white wine vinegar. Serve immediately.