Heat the butter in a large skillet or pot over medium heat. Once melted, stir in the onions with a big pinch of salt and pepper. Cook for 5 minutes, just until the onions begin to soften. Turn the heat down to low (or medium-low, if low isn’t cooking them), and cook, stirring often, until the onions are dark brown and caramely, anywhere from 30 to 60 minutes, depending on how much you want to babysit them. This will take a while, but the onions are in smaller pieces, so are also more apt to burn. Keep an eye on them and stir often, reducing the heat when needed. Add a splash of water to the pan if it gets dry at any time.
Let the onions cool slightly before adding them to the dip. Alternately, you can also caramelize the onions a day or two ahead of time! I will caramelize them and store them in a container in the fridge. I do reheat them on low heat (either in a pan or microwave) just to warm the solids up a bit.
Whisk together the sour cream, mayo, garlic powder and a big pinch of salt and pepper. Once the onions are caramelized, stir them in. Continue to stir until everything is combined - it will come together. Taste the dip and if you need more salt, add it in.
This stays great in the fridge if you make it ahead of time - it will thicken up a bit. It is also great served immediately. Serve with chips, crackers, pretzels, veggies - anything!
This stays great in the fridge for a few days! It will thicken up a bit, but will slightly loosen up once it gets back to room temperature.