Place the diced potato into a small pot. Pour in enough cold water to cover the potatoes. Bring to a boil, then reduce to a simmer for 10-15 minutes or until they are fork-tender. Drain and set aside. Wipe out the pot with a paper towel and set aside.
Preheat oven to 375° F. Prepare a casserole dish by greasing it with butter or nonstick spray. Set aside.
While potatoes simmer, cook bacon (either on the stove top, air fryer, or oven). Remove to a paper towel and pour off excess grease, leaving a bit in the pan for onions.
Add 1 tablespoon of butter to the same pan and saute onions until tender, 5-7 minutes. Remove from heat.
Place the small pot used to cook the potatoes over medium heat. Melt in 2 tablespoons butter. Sprinkle in flour and whisk to create a paste. Cook for 1 minute. Whisk in milk. Increase heat to medium-high and continue whisking until sauce thickens. Reduce heat and stir in cream, cream cheese, salt, black pepper, nutmeg, and 1/2 cup grated cheddar cheese. Stir until the cheeses melt and the sauce is smooth.
Pour cooked potatoes, bacon, onions and cheese sauce into a large bowl. Stir to coat. Pour the entire contents of the bowl into prepared casserole dish. Top with remaining 1/2 cup of sharp cheddar cheese.
Bake for 20-30 minutes, covered with aluminum foil. Then, remove the foil and place it under the broiler to brown the top if desired. Garnish with green onion and serve hot.