Heat the olive oil in a large skillet over medium heat.
Add the chopped onion and green bell pepper. Cook for 3–4 minutes until softened.
Add the minced garlic and cook for about 30 seconds.
Add the ground beef and cook for 5–7 minutes, breaking it apart with a spoon until browned and fully cooked.
Drain any excess fat from the skillet if needed.
Stir in the tomato sauce, tomato paste, ketchup, Worcestershire sauce, brown sugar, mustard, paprika, chili powder, black pepper, and salt.
Pour in the water and mix everything well.
Bring the mixture to a gentle simmer, then reduce the heat and cook for 10–15 minutes, stirring occasionally.
Continue cooking until the sauce thickens and coats the beef nicely.
Taste and adjust the seasoning as needed.
Lightly toast the hamburger buns with butter, if desired.
Spoon the hot beef mixture generously onto the bottom half of each bun.
Add sliced cheese, pickles, or shredded lettuce if desired.
Cover with the top bun and serve immediately.