1. Heat olive oil in a saucepan over medium. Add garlic and cook until soft, about 1 minute. Add tomatoes, basil, oregano, salt, and pepper. Cover and bring to a boil, then lower heat and simmer for 20 minutes.
2. Working in batches, transfer tomato mixture to a blender. Add beans and broth. Blend for 2 minutes. Return to saucepan and simmer for 5 minutes.
3. Meanwhile, heat a skillet over medium. Cover 2 slices bread with cheese. Top with remaining bread, then butter the outsides. Grill in skillet until golden on both sides and cheese is melted. Cut into 1-inch slices.
4. Serve soup topped with grilled-cheese dippers.