Set a 6-quart or larger pot over medium heat. Add the bacon and cook slowly until the fat is rendered and the bacon is crispy. Remove the bacon with a slotted spoon and transfer to a paper towel. Pour off all but 1 tablespoon of the bacon fat. If using olive oil, simply heat the oil and continue to the next step.

Turn the heat to medium-high and cook the onion until it softens and starts becoming translucent, about 5 minutes. Add the carrots and celery, and cook for another minute or two. Stir in the garlic, tomato paste, paprika, cumin, salt, and cinnamon. Cook until fragrant, about 30 seconds.

Add the lentils, broth, and bay leaf to the pan and stir. Bring to a boil, and then reduce the heat to low. Simmer, uncovered, for 20 to 30 minutes until the lentils are soft (exact cooking time will depend on your lentils). Taste and add salt and pepper as needed. Stir the reserved bacon into the soup, or sprinkle it right on top of each bowl.

Whisk together the yogurt, lemon zest, and lemon juice. Add a dollop of this yogurt sauce to each bowl as you serve and sprinkle the tops with parsley.

Lentil soup will keep refrigerated for up to a week or freeze in individual portions for up to three months.