Heat the oil in a soup pot. Add the onions and sauté over medium-low heat until translucent. Add the garlic and carrots and continue to sauté until the onions are golden.
Add the broth along with the apples and curry powder. Bring to a slow boil, then lower the heat. Simmer gently with the cover ajar for 10 to 15 minutes, or until the carrots and apple are tender. Remove from the heat.
Transfer the solid ingredients from the soup to a food processor with a slotted spoon. Process until just coarsely pureed, leaving plenty of chunks of carrot. Stir back into the soup pot. Or, insert an immersion blender into the pot and process until coarsely pureed.
Add the peanut butter to the soup, about half at a time, whisking in until completely blended with the stock. Return to very low heat.
Steam the broccoli in a saucepan with about 1/4 cup water, covered, for 5 minutes, or until brightly colored and tender-crisp to your liking. Stir into the soup.
If the soup is too thick, add enough additional stock or water to achieve a medium-thick consistency. Stir in the lemon juice, then season with salt, pepper, and red pepper flakes.
Serve at once, passing around chopped peanuts for topping, if desired.