Brown the ground beef: Heat a large skillet over medium-high heat and add the ground beef, breaking it into small crumbles with a spoon. Cook for 6-8 minutes until no pink remains.
Drain the excess fat: Tilt the skillet and spoon off or drain the rendered fat. This keeps the final sauce from turning greasy.
Soften the vegetables: Add the diced onion, bell pepper, and garlic to the same skillet. Cook for 3-4 minutes, stirring occasionally, until the onion turns translucent.
Transfer to the slow cooker: Move the beef and vegetable mixture into the slow cooker insert, spreading it evenly across the bottom.
Stir in the sauce ingredients: Add the ketchup, tomato sauce, brown sugar, Worcestershire sauce, mustard, chili powder, salt, and pepper. Stir everything together until well combined.
Cover and cook on low: Cover the slow cooker and cook on low for 4-5 hours, or on high for 2-3 hours, until the sauce is bubbling gently around the edges.
Stir occasionally: Lift the lid once or twice during cooking to stir the mixture and prevent sticking near the heating element.
Thicken if needed: If the sauce looks thin after the cooking time, leave the lid cracked for the final 20-30 minutes so steam escapes and the sauce tightens up.
Toast the buns: While the sauce finishes thickening, lightly toast the hamburger buns in a dry skillet or under the broiler for 1-2 minutes until golden at the edges.
Assemble the sandwiches: Spoon the warm beef mixture generously onto the bottom half of each toasted bun and top with the other half before serving.