Preheat the oven to 375 degrees Fahrenheit and lightly spray a 9×13-inch baking dish with non-stick cooking spray.
Bring a large pot of water to a boil over high heat and generously salt it (about 1/2 to 1 tablespoon of salt). Add the pasta and cook until al dente or firm to the bite but not hard or undercooked (about 2 minutes less than the time indicated on the package).
Drain and rinse the pasta under cold water, then return it back to the pot. Stir in half of the pasta sauce and butter (if using). Set aside.
As the pasta cooks, heat the olive oil in a large skillet set over medium heat. Add the onion and green bell pepper and cook until softened and translucent, about 5-7 minutes.
Add the ground beef and cook until the meat is no longer pink in the middle. Drain any excess oil.
Stir in the garlic, Italian seasoning, salt, black pepper, and crushed red pepper and cook until fragrant, about 1 minute.
Pour in the chicken broth and the remaining half of the pasta sauce. Increase the heat to high and bring to a boil, then immediately reduce to low. Simmer for 5 minutes, stirring occasionally.
(Please read this section carefully.) Add a handful of shredded mozzarella cheese to the meat sauce and a handful to the spaghetti noodles. Mix well. Reserve at least one cup of shredded mozzarella for topping. Transfer any remaining shredded mozzarella cheese to a medium bowl.
Transfer the cottage cheese, ricotta cheese, cream cheese, and parmesan cheese to the bowl with the mozzarella cheese and mix well to combine—season with a pinch of salt and black pepper (optional).
To assemble, spread the pasta evenly into your prepared 9×13-inch baking dish, then spread the cheese mixture over the top. Follow with the beef sauce and the remaining one cup of shredded mozzarella cheese.
Bake for 20-25 minutes, or until the sauce is bubbly around the edges and the cheese is melted.
Allow this casserole to cool for 5-10 minutes before serving with freshly minced parsley and freshly grated parmesan cheese for garnish if desired.