Pre-heat oven to 350° and grease a 9x13 baking dish.
Get your water boiling to cook the spaghetti to al dente according to package directions - reserving 1 ½ cups pasta cooking water. Very important! Place a measuring cup in the colander to remind yourself. Drain pasta and set aside.
In a large skillet over low heat melt the butter and add the minced onion. Sauté for about 3 minutes or until the onion softened, add the garlic and cook through.
Raise the heat to medium-high and sauté the mushrooms with the onion and garlic until the mushrooms are lightly browned.
Reduce the heat to medium-low. Sprinkle the flour into the pan over the mushroom and onion and stir until well blended. Then cook, stirring constantly for about 1 minute until it smells nutty; you’re cooking the flour now, not the onion.
Add the milk, switch to a whisk and stir like a crazy person to be sure there are no lumps. Cook and keep stirring until the sauce is thickened.
Add the cubed cream cheese and stir until melted. Add the tuna, peas, parmesan, salt and pepper and blend it all together. This will look amazing and you should sneak a big old spoonful because you deserve it.
Now, add the pasta water and stir to combine. Don’t worry if it looks a little loose, the pasta will suck up a lot of the moisture.
Add the spaghetti to the sauce and combine. Pour the mixture into your prepared 9x13 baking dish.
Top with panko or crushed potato chips and bake at 350° for 20 minutes.
If you can trust yourself with the broiler; broil for just a minute until the top is light golden brown and crunchy.
Serve warm with a side salad. Leftovers will reheat or freeze beautifully.