In a large skillet over medium heat, cook the ground beef. Break it up with a spoon and cook until browned, about 6–8 minutes. Drain any extra grease.
Stir in the chopped onion and bell pepper. Cook for 3–4 minutes until soft and fragrant.
Mix in the tomato sauce, ketchup, Worcestershire sauce, mustard, brown sugar, garlic powder, onion powder, salt, and pepper. Stir well and bring to a light simmer.
Let it simmer uncovered for 10–15 minutes. Stir now and then. The sauce should thicken and coat the meat. Taste and adjust if needed.
Spread butter on one side of each slice of bread. This side will go on the pan.
Place one slice of bread, butter-side down, in a skillet over medium heat. Add a slice of cheese, a scoop of the meat mixture, another slice of cheese, and top with the second bread slice, butter-side up.
Cook for 3–4 minutes per side. Press gently with a spatula. Flip when the bottom is golden and crisp. The cheese should be melted.
Remove from the pan, slice in half, and enjoy while hot and gooey.