1. Heat oil in a large skillet over medium-high heat, and add onion. Reduce heat to medium, and sauté until tender. Add garlic, and cook 1 minute more, stirring frequently so garlic doesn't brown. Remove skillet from heat, and cool to room temperature.
2. Scrape onion mixture into a blender or food processor. Add beans and remaining ingredients; puree until smooth. Keep refrigerated in an airtight container until ready to serve. Garnish, if desired.