In a large pot, heat the olive oil over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes. Add the minced garlic and cook for another minute until fragrant.
Stir in the fire-roasted tomatoes, white beans, vegetable broth, smoked paprika, cumin, salt, and pepper. Bring the mixture to a boil, then reduce the heat and let it simmer for 20-25 minutes to allow the flavors to meld.
Use an immersion blender to partially puree the soup for a creamy texture, or leave it chunky if preferred.
Serve hot, garnished with fresh parsley and red pepper flakes if desired.