Preheat oven to 375°F and lightly grease a 9x13 casserole dish.
Boil a large pot of water, salt the water well and cook the jumbo shells a minute less than the package directions for al dente.
While the pasta is cooking, in a large skillet brown the ground beef and onions together over medium heat until the beef is no longer pink and the onions are translucent.
Add the olive oil and minced garlic and sauté a minute or so until the garlic is fragrant.
Stir in the crushed tomatoes, water, Italian seasoning, basil, oregano, granulated sugar, salt and red pepper flakes. Reduce heat to medium-low and simmer the sauce while you make the ricotta filling.
In a large bowl, stir together the ricotta cheese, eggs, half the shredded mozzarella and parmesan cheeses, oregano, parsley, salt and black pepper. Stir together to combine everything well.
Place half of the meat sauce in the bottom of the casserole dish.
Once the pasta shells are drained and cool enough to touch stuff 30 shells with ricotta filling using a spoon. Fill them so they are full, but not overfilled that the shells break.
Arrange the shells in a single layer in the casserole dish in 5 rows with 6 stuffed shells in each row.
Spoon the remaining meat sauce over the shells and sprinkle the remaining mozzarella and parmesan cheese on top of the sauce.
Cover the casserole dish with aluminum foil. Bake covered in preheated oven on center rack for 20 minutes.
Uncover the casserole dish and bake for an additional 15-20 minutes until sauce is bubbly and cheese is melted.
Serve and enjoy!