1. Slice the onions very thin and cut each slice roughly in thirds so that there are no long "strands" of onion. You should end up with about two cups.
2. Heat the olive oil and butter in a skillet over medium-high heat.
3.Saute the onions in the oil and butter for about 20 minutes, stirring often, until they are caramelized (very soft, sweet, and golden brown). Lower the heat if the onions begin to brown too quickly.
4. Add the garlic during the last minute of cooking. Stir often and do not allow the garlic to burn. Set the onion-garlic mixture aside to cool.
5. Place the cream cheese, sour cream, Tabasco, salt, and pepper in your food processor and process until smooth. Transfer to a bowl and set aside.
6. Pat off any extra oil from the cooled onions and garlic (use paper towels), then stir them into the cream cheese mixture.
7. Cover the dip with plastic wrap and refrigerate for 4 to 6 hours or overnight to let flavors meld. Dip can be stored in the refrigerator for 2 to 3 days.
8. Remove the dip from the refrigerator and let it stand at room temperature for 20 minutes before serving.