Preheat oven to 375°F (190°C). Grease a 9x13-inch baking dish.
Heat olive oil in a large skillet over medium heat. Add onion and bell pepper and cook for 4–5 minutes until softened.
Add garlic and cook for 30 seconds.
Add ground beef and cook until browned, breaking it apart as it cooks. Drain excess fat if necessary.
Stir in tomato sauce, tomato paste, Worcestershire sauce, brown sugar, paprika, garlic powder, salt, and pepper.
Simmer for 5–7 minutes until the mixture thickens slightly.
Transfer the sloppy joe mixture to the prepared baking dish.
If using cheese, sprinkle it evenly over the meat mixture.
In a bowl, whisk together cornmeal, flour, baking powder, and salt.
In another bowl, whisk together milk, egg, and melted butter.
Add wet ingredients to dry ingredients and stir until just combined.
Spread the cornbread batter evenly over the sloppy joe filling.
Bake for 20–25 minutes, or until the cornbread is golden brown and a toothpick inserted into the center comes out clean.
Let cool for 5–10 minutes before serving.
Garnish with parsley or green onions if desired.