Place bacon in a large, deep skillet. Cook over medium heat until browned. Drain, crumble, and set aside. In a stock pot or Dutch oven, melt the margarine over medium heat. Whisk in flour until smooth. Gradually stir in milk, whisking constantly until thickened. Stir in potatoes and onions. Bring to a boil, stirring frequently. Reduce heat, and simmer 10 minutes. Mix in bacon, cheese, sour cream, salt, and pepper. Continue cooking, stirring frequently, until cheese is melted.