In a large saucepan or Dutch oven over medium-high heat, combine beef and onion. Cook until the meat is mostly browned, about 5 minutes. Drain well.
Meanwhile, in a small bowl whisk together tomato sauce, ketchup, brown sugar, vinegar, Worcestershire, mustard, and salt and pepper to taste (I like 1/4 teaspoon salt and 1/8 teaspoon pepper).
Pour sauce ingredients over drained beef and stir until evenly coated. Simmer uncovered 20 minutes, stirring occasionally (cover if you prefer a sloppier Sloppy Joe). Serve in buns.
Ground beef: Or substitute ground turkey or venison.
Onion: Finely chopped celery and bell peppers are great too!
Brown sugar: Even a tablespoon is too much for some people. If you don't like the sound of brown sugar in your Sloppy Joe, please leave it out!
Worcestershire sauce: In a pinch, you can substitute soy sauce.
BBQ sauce. Your favorite barbecue sauce (or my favorite bbq sauce, based on Sweet Baby Ray's) can be added instead of ketchup for a smoky version of a classic Joe.
Spicy: If you love some heat, throw in a tablespoon of ancho chili powder, a teaspoon of ground cumin, or a half teaspoon of chipotle powder. Or, splash on your favorite hot sauce to taste.
Slow cooker: In a skillet, brown the ground beef. Drain well and add the bottom of a slow cooker. Add all the other ingredients (except the buns), cover, and cook on LOW for 6-7 hours, or HIGH for 3-4 hours.
Freezer: Cool completely, then add to freezer containers (one big batch or individual portions), label and date, and freeze for up to 4 months. When you're ready to eat, let the Sloppy Joes thaw overnight in the fridge and reheat on the stove (or reheat from frozen).