Add oil to pot and turn heat to medium. When oil is hot add onions and turn heat to high. (I don't heat the oil on high to avoid potential kitchen fires.) Cook onions until lightly browned and translucent.
Add cream cheese and mozzarella. Puree using an immersion blender until the beans are your desired consistency. Add more bean broth if desired to reach a smoother texture. I like to have some whole beans in the mix so 2 cups was perfect for me.
Top with shredded cheddar if desired. To be more fancy, transfer to a baking dish, top with cheddar, and keep warm at 250 degrees until you are ready to serve.