In a large saucepan over medium heat, heat the olive oil. Add the cardamom, cumin, and cayenne, and stir for about 30 seconds until fragrant.
Add the onion, garlic, and kosher salt and cook about 5 minutes until the onion is softened. Stir frequently to prevent the spices from sticking to the pan (if it seems too dry, add a bit more olive oil).
Add the tomatoes and their juices, lower the heat, and simmer for 10 minutes.
Turn off the heat and let the soup cool for a few minutes. Then add the yogurt and lime juice. With an immersion blender, blend the soup in the pan until smooth (or transfer to a blender and blend).
Serve immediately slightly warm, or refrigerate and serve chilled. Stores for several days in the refrigerator. If desired, top with chopped fresh cilantro and roasted salted pepitas.