Cilantro stems are the secret to this fresh-tasting soup.
Heat olive oil in a deep saucepan over medium-low heat. Add onions and garlic and cook until onions are soft and translucent, about 5 to 7 minutes. Add salt, pepper, cilantro stems, and jalapeno.
Strain tomatoes and add juice to saucepan. Seed tomatoes, chop coarsely, and add to saucepan. Add 2 cups water and stir to combine. Simmer for about 30 minutes. Add lime juice and adjust seasoning with salt and pepper. Divide among 4 soup bowls and serve with a dollop of sour cream.