In a large pot or Dutch oven, heat the olive oil over medium heat. Add the onions and cook over medium-low heat until soft and translucent, about 8-10 minutes.
Add the garlic and cook for 1 more minute.
Stir in the chicken stock, tomatoes, cilantro, cumin, and salt. (Note: If you prefer a slightly less chunky soup add an extra cup of chicken stock and only add 1/2 tsp salt instead)
Bring the soup to a boil, then lower the heat and simmer for 15 minutes.
Using an immersion blender, blend everything until smooth. Check for salt at this time.
Add the pasta shells and bring the soup to a simmer and cook for 15-20 more minutes, stirring frequently, until the pasta is cooked through.
Garnish with sour cream and green onion, or your favorite toppings.