Dice the onion and cut the tomato into 8ths. Add the butter to a pan and melt. Add your onions and some salt and pepper and cook about 10 minutes until just starting to lightly brown. Add the tomatoes and cook another 10 - 15 minutes until this mixture has formed a thick paste. Add in the rest of the ingredients with some more salt and simmer about 25 minutes. Blend in a blender or with a stick blender until smooth. Taste for salt and adjust as needed. Allow to cool before serving and once cooled, add another splash of beer if it is too thick.
Cut the onion into thick rounds, between 1/4 and 1/2 inch and separate the rings. Put the onion into a bowl with the buttermilk and a pinch of salt and toss to coat being gentle not to break all the rings. Allow to sit for an hour while you prep the rest of the ingredients.
Pour about 2 inches of oil into a wide and sturdy frying pan and bring to 350 degrees. Put one cup of flour onto a plate with some salt and pepper. Put the other cup of flour into a bowl with salt, pepper, and paprika. Add some beer to that bowl, starting with about 1 cup. Stir well to combine and add more as needed. You want this to be the texture of a pancake batter that is on the thin side.
Shake off the excess buttermilk from an onion ring and dredge it in the flour mixture first. Once coated, shake off the excess and then dip it into the batter. Next drop it into the hot oil. Fry for about 3 minutes flipping once during frying. Remove from oil and set on a rack to dry and cool. Salt immediately.
Toast your bun. When you cook the burger top it with a slice of cheese so it gets nicely melted. Put the burger onto the bottom bun and top it with a nice slather of BBQ sauce. Then add 3 onion rings on top. Serve immediately!