In a 6 quart stockpot, cook spaghetti to package instructions and drain thoroughly. If desired, rinse spaghetti with cold water to stop cooking and make noodles easier to work with. Set noodles aside.
While spaghetti cooks, heat olive oil over medium heat in a large skillet. Add ground beef and onion to skillet and cook & crumble beef until browned, about 5-8 minutes. Add garlic to skillet and cook for an additional 2-3 minutes. Drain any excess grease then return meat mixture to skillet.
Add your chosen spaghetti sauce to skillet and allow to simmer with meat 5 minutes, then turn heat to low.
In a large bowl, whisk together eggs, ricotta cheese, parmesan cheese, and melted butter. Set aside.
Add 1/3 of the meat mixture to the bottom of prepared baking dish, then top it with 1/3 of the cheese mix. Add 1/2 of the spaghetti and spread evenly. Repeat with another layer of meat sauce, cheese, then spaghetti. Finish with the remaining cheese sauce and meat sauce. Sprinkle cheddar, Monterrey jack, and mozzarella cheeses on top.
Bake in the oven for 20-25 minutes or until cheese sauce has melted and dish is heated through. If you rinsed noodles with cool water, bake at least 25 minutes.
Serve spaghetti casserole immediately with parsley, red pepper flakes, and extra parmesan cheese sprinkled on top.