Warm the olive oil in a medium pot over medium heat. Add the onion, sweet potato, and garlic. Sprinkle with salt and stir to coat. Cook, stirring regularly, until just starting to soften, about 10 minutes.
Add the tomatoes and stir. Raise the heat to bring to a simmer, then reduce back to medium heat and simmer for 10-15 more minutes, or until the sweet potatoes are soft when poked with a fork.
Let cool for a few minutes, stir in the coconut milk or broth and puree in a blender or with an immersion blender until very smooth. (When pureeing hot food, use caution to avoid splattering. I leave the vent open on top and cover it partially with a kitchen towel. Start on slow and very, very slowly work up to a medium-high speed to blend well. Take breaks to let off steam if needed.)
Serve warm with crackers, bread, muffins, or any other simple sides.
Store leftovers, slightly cooled, in an airtight container in the fridge for up to 5 days. Serve warm.
Blend in a few fresh basil leaves to add more flavor.
Top adult portions with freshly cracked black pepper.
If you can do dairy, top with grated Parmesan cheese or shredded sharp cheddar.
Serve as a baby food on a spoon or stir in some well cooked grains (like quinoa, couscous, or pastina) for a more filling meal for an older baby.