If using fresh tomatoes, bring a large pot of water deep enough to submerge the tomatoes to a boil over high heat. Cut a small X in the bottom of each tomato and plunge them into the boiling water for 30 seconds each.
Remove the tomatoes. When cooled, peel away the loosened skin. Remove the cores from the tomatoes and coarsely chop the flesh.
Heat the oil in a large saucepan over medium heat. Add the onion, chile pepper, and garlic and cook for 4 minutes (or until soft). Stir in the fresh or canned tomatoes and cook, stirring often for 5 minutes.
In a small bowl, blend the tomato paste with the vegetable broth and add to the saucepan. Add the curry powder and simmer for 7 minutes.
To serve, divide the soup among 4 serving bowls. Sprinkle the cilanto on top for garnish.