In a large skillet over medium-high heat, heat oil. Cook onion and bell pepper, stirring occasionally, until softened and slightly golden, 10 to 15 minutes.
Add ketchup and cook, stirring occasionally, until color has darkened, and ketchup is reduced to a thick paste, 7 to 10 minutes.
Add garlic and chili powder and cook, stirring, until fragrant, about 1 minute. Add vinegar, mustard, brown sugar, and Worcestershire sauce, season with salt and pepper. Cook, stirring frequently, until incorporated, for about 1 minute more.
Increase heat to high and add ground beef. Using a fork, break apart beef until separated and no big lumps remain. Cook, stirring frequently, until browned, for about 5 minutes.
Add tomato sauce and bring to a boil, stirring to combine. Let cool slightly; season with salt, if needed.
Divide beef mixture among rolls and serve.
Making the Broccoli Salad
Toss broccoli and red onion into a large bowl.
Add mayonnaise, yogurt, apple cider vinegar, honey, salt, and black pepper, whisk to combine.
Add the dressing and dried cranberries to the broccoli mixture. Toss until well-combined. Serve.