Heat ½ tbsp olive oil in a pot over medium-high heat. Add onion and mushrooms. Cook until softened, about 4-5 minutes.
Add garlic and cook until fragrant, stirring occasionally, about 30 seconds.
Add tomatoes, broth, salt, and beans. Stir to combine. Bring to a boil, then reduce heat to medium-low and simmer until thickened, about 5 minutes.
Add spinach and simmer until wilted, about 2 minutes. Remove broth from heat and set aside.
Heat ½ tsp olive oil in a skillet over medium-high heat. Break eggs into pan and cook until desired doneness, about 2-3 minutes. To serve, top broth with egg and drizzle with vinegar.
