As the size of a head of cabbage can vary, I've suggested some ingredients with ranges to accommodate different sized heads of cabbage. Adjust and use the ingredients according to size and taste. If you use a lot more bacon than what is called for, consider removing some of the extra bacon drippings so that the dish doesn't become greasy.
Wash the cabbage head and remove the first layer or two of exterior leaves (discard) and the core. Thinly slice.
Halve the onion and cut each half into 1/2" wide slices.
Cut the bacon slices into 1/2"-1" pieces.
Add the bacon to a cold, large/deep pot and brown over medium heat. Remove bacon from the pot and set aside. Retain melted bacon fat in the pot.
Increase heat to medium-high and add onion. Brown quickly until golden on the edges, but not very soft, stirring frequently.
Reduce heat to medium. Add the cabbage to the pot. Stir to mix. Pour 1/4 cup of water over cabbage and cover with a lid.
Stir occasionally and check the bottom of the pan to make sure there is still water there. If not, add more water until the bottom of the pot is no longer dry. Cook until just tender-crisp (approx. 10 min).
Remove the lid. Add the butter, half and half, and parmesan. Stir well. With the lid off, simmer on low until sauce thickens, stirring frequently.
Once the sauce has reached your desired thickness, add the bacon back to the pot, and salt and (white) pepper to taste. Stir well. Remove from heat and serve.