Cheesy Bean Dip

Prep Time 10 minutes
Cook Time 2 hours 20 minutes
Total Time 2 hours 30 minutes
Servings 16


  • 3 cups dried pinto beans
  • 12 cups water
  • ¼ cup vegetable oil
  • 4-5 cups diced onion 4 medium onions
  • 1 Tbsp salt
  • 8 ounces cream cheese
  • 1 cup shredded part-skim mozzarella
  • 1 ½ cups shredded cheddar optional


  1. Sort through beans removing any rocks. Rinse beans if desired and add to a large pot with the water. Soaking beans is not necessary! Bring to a boil and set your stove at a temperature that barely maintains a boil when pot is covered. Boil 2 hours or until beans are very tender.
  2. Reserve 3 cups of bean broth. Drain remaining liquid and set drained beans aside.
  3. 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.

  4. Add beans, salt, and 2 cups of broth to the pot. Simmer at least 10 minutes to allow the flavor of the onion and salt to incorporate into the beans.
  5. 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. 

  6. 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.