Combine the olive oil, onion, garlic, celery, tomatoes, sugar and 1 teaspoon salt in a saucepan. Cook over medium heat, stirring occasionally, until the vegetables are tender, about 25 minutes. Puree until smooth with an immersion blender, or transfer to a regular blender in batches and puree. Season with salt and pepper and keep warm; add water to thin the soup, if desired.
Meanwhile, combine all three cheeses in a bowl. Divide evenly among 4 bread slices and top with the remaining bread. Heat 1 tablespoon butter in a large skillet over medium heat. Cook the sandwiches in batches, adding the remaining 1 to 2 tablespoons butter as needed, until the cheese melts and the bread is golden, 3 to 4 minutes per side. Serve the sandwiches with the soup.
Photograph by Antonis Achilleos
When blending hot liquid, first let it cool for five minutes or so, then transfer it to a blender, filling only halfway. Put the lid on, leaving one corner open. Cover the lid with a kitchen towel to catch splatters, and pulse until smooth.