In a small bowl, stir together the salt, pepper, garlic powder, onion powder, and paprika.
Portion the ground beef into 3-ounce sections and roll them into balls. You will have 8 balls.
Preheat your flat-top grill to medium heat. Add the bacon and cook until crispy, about 8-10 minutes. Remove from grill and place on a paper towel-lined plate to drain.
Add the butter to the grill and let it melt. Then add the onions and toss to coat in the butter.
Season with about ¼ of the seasoning mixture. Toss the onions with a spatula frequently until they wilt and begin to brown, about 8-10 minutes. Remove from the grill and set aside.
Turn up the heat to high and grease the flattop with the oil.
Season the balls of meat with some of the seasoning mixture on the top.
Place the balls, seasoning side down onto the grill.
Using a piece of parchment paper and a weight, smash each ball down as thin as you can, really concentrating on the edges.
Season the top side after smashing.
Allow to cook until the meat looks a little holey and browned around the edges, about 2 minutes.
Using a scraper, scrape under the patty and flip it over.
Brush this side with the BBQ sauce.
Then quickly add a slice of cheese.
Continue to cook until the cheese melts, about 2 minutes.
Take off the grill and add some BBQ sauce to the bottom of your bun, top with two burger patties, then top with onions, bacon and more BBQ sauce if desired.