Chop onion. Heat butter (or oil) in a large saucepan over medium-low heat, then add onion. Cook and stir while you continue.
Mince garlic, chop celery, and slice (or grate) carrots, adding each to the onion as you finish. Cook and stir another 2 to 3 minutes, or until somewhat softened.
Sort lentils: Measure then spread onto a plate or cutting board. Discard any pieces of pebbles, grains, or discolored lentils. Rinse lentils in a colander, to remove sand or grit. Stir into vegetables.
Add broth, bay leaves, paprika, thyme, oregano, red pepper flakes, and pepper. Do NOT add salt yet, since salt will prevent the lentils from softening.
Raise heat to medium to bring to a boil. Stir and turn heat to low or medium-low to keep at a simmer (uncovered) until lentils are very tender, 30 to 60 minutes. Once the lentils are tender, add salt and extra broth if desired. Cover and simmer another 30 minutes, or longer for more intense flavor.
Discard bay leaves. Stir in peanut butter and adjust seasonings, to taste.
Soup can be served as is, or blended to desired consistency with an immersion stick blender or regular blender.*