Make the sauce: Brown up the sausage and remove from the pan. In the same pan, cook the onions to lightly brown. Add in the butter and flour and stirr well, cooking for about 2 minutes. Whisk in the milk and bring to a simmer. Remove from heat and add the sausage back in. Strain the diced tomatoes and stir into the sauce.
Cook the noodles in a pot of boiling water until tender.
In a small bowl, crack and whisk two eggs. Prepare a frying pan to cook the eggs that is the same size as your round baking dishes.
In the baking dish, start with a thin layer of sauce, followed by the first layer of noodles, then some more sauce and all three cheeses. Cook the first egg round for only a few minutes without flipping until it has just barely set on top. Transfer the egg to the top of the noodles then repeat with another layer of everything.
Top with a final pasta layer and a little more cheese and sauce and bake at 400 for about 15 minutes.
If you want to save this in the fridge or freezer, that's fine, but I would suggest boiling the pasta a little less and baking it for a bit longer before serving.