For the spaghetti: Bring a large pot of salted water to a boil over high heat. Cook the spaghetti according to the package directions. Drain well.
For the meatballs: Combine the beef, onion, eggs and breadcrumbs in a large bowl. Season with the oregano, basil, salt and pepper. Mix well. Form medium-sized meatballs and set aside. Heat the olive oil in a heavy pot. Add the meatballs 4 or 5 at a time and cook until well browned. Remove to a plate.
For the marinara sauce: Cook the onion in olive oil in a large pot over medium heat. Add the green pepper and garlic. Cook until tender. Add the bay leaf, red pepper flakes, oregano and basil. Add the tomato sauce and simmer for an hour if time allows. Stir in the sugar and parsley.
Add the pasta to the sauce. Gently stir until the sauce coats the pasta. Transfer the spaghetti to a serving platter or plates and top with the meatballs.