In a 3 quart sauce pan, heat oil over medium heat. Add onion and saute, stirring occasionally until tender. This takes about 5-7 minutes.
Stir in garlic and spices, cook for about a minute.
Stir in beans, broth, and can of tomatoes (including liquid from tomatoes). Add a pinch of salt, if you'd like.
Heat to high heat until soup is boiling. Reduce heat and simmer, uncovered, for about 15 minutes.
Spoon about 1/3 of mixture into a blender or food processor and pulse until smooth. You can do more or less, depending on how thick you want the soup or how many whole beans you want in it. Combine pureed mixture with rest of soup and serve with lime wedges.