Line a baking sheet with parchment paper. Combine onion and butter in a skillet over medium-low heat and cook until tender but not browned, about 5 minutes; cool.
In a bowl, combine flour, baking powder, salt and baking soda; add butter and mix with your fingers until mealy in texture. Add the onions, buttermilk, ham and cheese, stirring in with a spatula until just incorporated, but it still should be a bit loose.
Scoop out the batter with a large spoon to form 12 biscuits and lightly shape them with floured hands.
Arrange close together on the baking sheet for soft biscuits, or spread them apart for crisper biscuits.
Brush with hot melted butter.
Bake 5 minutes then reduce temperature to 450F and bake a further 15 minutes or until deep golden brown.
Cool in pan for several minutes then invert onto kitchen towel.