In a large bowl, combine ground beef, bread crumbs, Parmesan cheese, parsley, egg, garlic, salt, and pepper. Mix well and form into meatballs.
In a large pot, heat olive oil over medium heat. Add meatballs and cook until browned on all sides. Remove meatballs and set aside.
In the same pot, add chopped onion and cook until translucent. Add crushed tomatoes, tomato paste, tomato sauce, and water. Stir well.
Add sugar, basil, fennel seeds, Italian seasoning, red pepper flakes, and black pepper. Stir to combine.
Return meatballs to the pot. Simmer on low heat for 1 hour, stirring occasionally.