Heat the olive oil in a large saucepan over medium heat until shimmering. Add the onions and red pepper flakes and cook, stirring occasionally, until the onions are translucent and very tender, about 10 minutes.
Stir in the tomatoes and their juices, plus the water, and bring to a boil. Reduce the heat to low and simmer, stirring occasionally, until the flavors have melded, about 30 minutes. (If you're in a hurry, you can skip the simmer time -- just add a bit less water.)
Add the basil, season with salt and pepper, remove from the heat, and let cool briefly, about 5 minutes.
Set a fine-mesh strainer over a large, heatproof bowl.
Using a blender, purée the soup in batches until smooth, removing the small cap from the blender lid (the pour lid) and covering the space with a kitchen towel (this allows steam from the hot soup to escape and prevents the blender lid from popping off).
Pour the blended soup through the strainer, pressing on the solids with a rubber spatula or ladle; discard the solids. Taste the soup and season with additional salt and pepper as needed.
Return the soup to the saucepan and reheat on medium low until hot.
If you choose, serve topped with a tablespoon of crème fraîche.