Preheat oven to 375℉. Grease a 2 quart (8 x 10 in) baking dish with butter or oil.
Using a mandolin (or by hand if you don't have one), thinly slice potatoes to about ⅛ inch rounds. Thinly slice onions.
Arrange the dish. Place sliced potatoes in three tight slanted rows. You don't want it overly tight, make sure you leave enough room for them to be slanted. Next, add in onion slices between potatoes throughout wherever you can.
Sauce time. Heat a medium sized sauce pot over medium heat. Add butter. Once melted, whisk in flour. Then, slowly pour in milk, whisking continuously being sure to smooth out clumps. Bring mixture to a low simmer. (Should be a consistency similar to a gravy).
Turn heat to low and stir in the cheese, garlic powder, Dijon, msg (if using), pepper, and salt. Add ¼ cup of water if it's too thick. Taste and add more salt if needed. (It should be on the salty side. The potatoes will absorb a lot of the salt, so don't be shy when salting the sauce).
Pour the sauce evenly over the potatoes and onions to cover them. Cover with aluminum foil and bake for 45 minutes.
After 45 minutes, remove foil and sprinkle with the remaining cheddar and Parmesan cheese. Bake uncovered for another 30 - 45 minutes or until the potatoes are done. Remove from the oven and enjoy.