Cook the noodles according to the package directions, but until slightly less done. The noodles will further cook while the casserole bakes. Once cooked, drain the noodles and set it aside.
While the noodles are cooking, finely dice the onion and slice the mushrooms and green onions.
Add the cooking oil and ground beef to a large skillet. Cook over medium heat until the beef is fully browned. If using a higher fat content beef, drain off the excess fat before continuing.
Add the diced onion, sliced mushrooms, garlic powder, salt, and some freshly cracked pepper to the skillet. Continue to sauté over medium heat until the mushrooms are soft and the onions are transparent. Add the tomato sauce and Worcestershire sauce to the beef and mushroom mixture. Stir to combine, then simmer for a few minutes, or until it thickens slightly.
Preheat the oven to 350°F. Return the drained noodles to the pot they were boiled in (heat turned off) and add the beef and tomato mixture, diced tomatoes (drained), sour cream, half of the shredded cheddar, and half of the green onions. Stir to combine and then transfer the mixture to a 9x13 inch casserole dish.
Top the casserole with the remaining shredded cheese, then bake in the preheated oven for 30 minutes, or until it is bubbling around the edges and the top is starting to brown just slightly. After removing from the oven, sprinkle the remaining green onions over top.