Preheat the oven to 350°F (175°C) and spray a 9x13-inch baking dish with cooking spray.
Break the spaghetti in half and cook in a large pot of boiling salted water according to package directions until al dente. Drain well and set aside.
In a large bowl, whisk together the sour cream, ricotta, egg, salt, pepper, and garlic powder until smooth.
Stir in the shredded Monterey Jack and 1/2 cup of the shredded Parmesan until combined.
Add the drained chopped spinach, about half of the crispy fried onions (≈3 ounces), and the cooked spaghetti to the cheese mixture and toss until everything is evenly coated.
Transfer the mixture to the prepared baking dish, cover tightly with foil, and bake for 30 minutes.
After 30 minutes, remove the foil, sprinkle the remaining crispy fried onions and the remaining Parmesan on top, and bake uncovered for an additional 5–8 minutes until the top is golden and crispy.
Remove from the oven and let rest at least 5 minutes before serving.