Place potatoes and onion in a large pot with enough water just to cover the potatoes. Add salt and pepper. Bring to a boil and cook for 20 minutes or until fork tender. Stir occasionally to prevent the potatoes from sticking to the bottom of the pot.
Mash the potatoes a few times with a potato masher.
Whisk together flour and milk; stir in with the potatoes. Then mix in the cream. Simmer until mixture is slightly thickened.
Add broccoli, paprika, and garlic powder and cook for 1-2 minutes more. Just enough to warm the broccoli.
Remove from the heat and add the shredded cheddar cheese. Stir until the cheese is all melted.
Sprinkle each bowl with bacon bits and a spoonful of sour cream, if desired. Serves 6-8.