Rinse and cook white beans. You can do this by either soaking the beans overnight and cooking them the next day (for 8 hours) in a pot or crockpot, OR, rinse them and cook them in a pressure cooker (not soaking) for about 40 minutes. If you cook them in a pressure cooker, you can make this soup the same day.
In a large pot over a medium-high heat, combine olive oil and onions. Cook, stirring frequently, until the onions are translucent and have started to brown. Let them brown a bit for added flavor. Watch them carefully to make sure they don't burn. If using fresh garlic, add the garlic now and cook for 1-2 minutes. (If you are using granulated or powdered garlic, you can add it at the next step).
Add cooked beans, rosemary, chicken stock, and bay leaf to the pot. Cook, stirring occasionally, for about 30 minutes. Remove from heat.
Use a slotted spoon or tongs to remove the bay leaf and rosemary spring from the soup (it's okay if the rosemary leaves remain in the soup, but be sure to get the stem out).
Wait for the soup to cool enough to blend it in a blender or food processor. If you have a hand-held immersion blender, you can just blend it in the pot. If not, blend it in batches until the whole soup is coarsely pureed, and warm it again before serving.
I grow my own rosemary. Rosemary can also be grown indoors. Rosemary will grow outside year round in zones 8 and warmer (some varieties will over winter in zones 5 and 6). You can substitute 2 Tbsp dried rosemary leaves.
I buy my white beans in bulk, for .564 cents a pound. I get my kosher salt, pepper, garlic and olive oil in bulk from Sam's Club.
I buy chicken bullion powder in a 4.4lb container from Walmart for under $5.
I buy my onions on sale. You can use rehydrated dried onions in this dish if you have no fresh ones, but it makes it rather expensive. I have bought onions for as little as .33/lb. Watch for great onion sales, especially in the fall, and keep a basket of onions in your pantry.