Cook the onions in the butter, until translucent and cooked through in a large saucepan. Add the flour and make a roux, stirring constantly. While stirring, add 5 cups chicken broth or 5 cups water with one chicken bouillon cube. Increase the heat to bring the mixture to a low to a medium boil. Add corn, potatoes, paprika, sweet basil, salt, and pepper. Simmer until the potatoes are fork-tender. (Approximately 50-60 minutes depending on the size of potato pieces). Use a hand mixer or immersion blender to blend the soup until smooth and creamy. Add the half & half or cream, heat through. Serve with cooked bacon pieces and chives sprinkled on top of the soup. Serve warm.