Heat oil in a large saucepan. Add onion; cover and cook over medium heat, stirring occasionally, until softened, about 5 minutes. Add curry powder and cook 30 seconds until fragrant.
Add broth, corn, potatoes, lemon juice and salt to saucepan; bring to a boil over medium-high heat. Reduce heat to medium-low and simmer, partially covered, until potatoes are tender, about 20 minutes; remove from heat.
In a blender, food processor or using an immersion blender, puree mixture (in batches if necessary), until smooth. Strain through a fine mesh sieve into a bowl, pressing on solids to extract as much liquid as possible.
To serve, stir cilantro or scallions into soup. Spoon into bowls and top with about 2 teaspoons each of yogurt and tomato. Garnish with additional chopped cilantro or scallions, if desired. Serve hot or cover and refrigerate up to 2 days.