Preheat oven to 350 degrees F. Spray a 2-quart baking dish with cooking spray and set aside (I used an 11 x 7-inch dish, but a deep 8- or 9-inch square dish will also work).
Cook spaghetti in a large pot of salted boiling water, just until cooked through but still firm to the bite (about 7-8 minutes). Drain.
Meanwhile, in a large skillet, cook the beef, onion and garlic over medium heat until meat is no longer pink (about 6-8 minutes); drain. Stir in the spaghetti sauce, salt and pepper. Turn heat to low, and add cream cheese, sour cream and green onions; stir just until cream cheese is melted (about 2-3 minutes). Remove from heat, add the cooked pasta, and toss to combine.
Transfer to prepared baking dish. Sprinkle mozzarella and Parmesan cheeses over top. Cover and bake for 25 minutes. Uncover; bake for 5 more minutes, or until casserole is bubbly.
Notes
Leftover baked casserole will keep in the refrigerator for 3-4 days.
Can you freeze Spaghetti Casserole? Yes! You can freeze this casserole before or after baking.
How to freeze the casserole: Wrap the casserole tightly in plastic wrap and then cover with aluminum foil to prevent freezer burn. Store in the freezer for up to 3 months.
How to reheat the casserole: Thaw the casserole in the refrigerator overnight. When ready to bake, allow the dish to sit on the counter and come to room temperature for about 30-60 minutes. Bake according to the instructions in the recipe. If reheating a previously baked casserole, cover and warm in a 325 degree F oven just until heated through (about 20 minutes).
Substitute Italian sausage or ground turkey for the ground beef.
For more veggies, add a diced green bell pepper to the skillet with the beef and onion.
This recipe calls for a small (15.5 ounce) jar of marinara sauce. If you can't find this size jar, use about 1 3/4 cups of sauce from a larger jar.
Nutrition information provided below is just an estimate. The exact nutrition facts for your dish will vary depending on the products that you use.