Cook the french fries per the directions on the package. Once the fries are cooked, lower the heat in the oven to 350°F.
While the french fries are cooking, in a large skillet over medium-high heat add in the ground beef, onion, and garlic, breaking up the beef. Brown the beef until no longer pink, then drain off the excess fat.
Add in the beans, chili powder, onion powder, garlic powder, salt, and cumin. Stir to combine, and cook until fragrant, roughly 1 minute.
Next, add the tomato sauce and beef stock, stirring to combine. Bring the mixture to a simmer then lower the heat to low and simmer, covered for about 15 minutes.
In a medium-size saucepan, melt the butter over medium-low heat. Then, whisk in the flour, salt, garlic powder, onion powder, cumin, and paprika. Cook for 2 minutes stirring occasionally.
Slowly stream in the milk, whisking constantly making sure there are no lumps. Cook until thickened, just until simmering making sure you are stirring constantly. Remove from the heat and add half of the cheese, stir it in until melted and smooth.
Layer the french fries on a parchment-lined sheet pan, then top with some of the cheese sauce, add some chili and then top with more cheese sauce. Lastly add shredded cheese. Place the sheet pan back in the oven until the cheese is melted, roughly 5 minutes. Top with green onions if desired and serve immediately. (This can be done in smaller portions or on a large sheet pan).