Sloppy Joes should taste sweet, tangy, savory, and deeply beefy. This homemade version gets its depth from properly browned beef, toasted tomato paste, and a balance of ketchup, mustard, and Worcestershire.
Heat oil in a large skillet over medium high heat for several minutes until shimmering hot.
Add the beef, salt and pepper and break it up but let it brown deeply on the bottom before stirring (you want actual caramelization, not gray meat).
Add onion and bell pepper. The beef should be browned but doesn't have to be cooked through. Cook until onion and pepper are softened and translucent, about 5 minutes.
Add garlic and cook 30 seconds.
Add tomato paste, ketchup, brown sugar, and stir through. Let the tomato paste and ketchup cook and darken, about 5 minutes, stirring occasionally. This step is key to rich flavor and color.
Add Worcestershire, mustard, vinegar, cayenne and water and stir through. If you like the mixture looser, add another 2 tbsp water.
Taste and adjust salt to taste. Serve on lightly toasted buns with dill pickles if desired.