Place olive oil and butter in a small pan over medium-low heat. Add onions and rosemary and cook for about 20 minutes, stirring frequently until onions are golden brown and caramelized. If mixture starts to burn or pan dries out too much, add a bit of water, stir and continue cooking.
While onions are cooking, combine remaining ingredients in a small bowl and mix with a handheld mixer until thoroughly combined. Taste for seasoning and adjust accordingly.
Once onions are caramelized, add 3/4 of them to the bowl and mix again.
Transfer dip to a serving bowl, top with remaining caramelized onions and any other garnishes (additional rosemary, pumpkin seeds, sunflower seeds, etc.) and serve with crackers or sliced fruit.
Hot dip option:
Follow steps 1-3 above.
Preheat oven to 400°F.
Transfer dip to an oven safe baking dish and bake for 10 minutes until warmed through and the top of the dip starts to turn golden along edges.
Remove from the oven, top with remaining caramelized onions, garnish as desired (pumpkin seeds, rosemary, sunflower seeds, etc.) and serve with crackers or sliced fruit.