In a 3- to 4-quart saucepan, melt butter over medium-high heat, then add onions. Cook, stirring, until onions are tender and beginning to brown at edges, about 5 to 7 minutes.
Add garlic and cook for 1 minute.
Add tomato paste, and cook for 2 to 3 minutes.
Add sherry, if using, and cook for 1 minute, then tomatoes. Cook the tomatoes, mashing them slightly with your spoon, for 3 minutes, then add broth and seasoning to taste.
Bring mixture to a simmer and cover the pot. Cook at a simmer for 15 to 20 minutes.
Either with an immersion blender or in a full-sized blender, blend the hot soup carefully until totally smooth.
Taste, adjust seasoning as needed. If you’d like the soup to be creamy, add it a splash at a time, stirring, until you reach your desired level.
Finally, you can add 1 teaspoon sherry vinegar for a little brightness at the end, and a second teaspoon if it needs more.
Ladle into bowls or mugs, finish with a little freshly ground black pepper, and surround with grilled cheese 'fingers' for dipping.
