melt the butter in a heavy duty pot about 2 quarts in size
slice off the tops and bottoms of the onion, cut in half and then in slices
add to the butter stir to cover, reduce heat, and cook for 45 minutes, stirring every 15 minutes or so
while the onions are caramelizing slice the entire loaf of bread into 1-2 inch cubes and set aside
after 30 minutes add the sliced celery and cook for the last 15 minutes with the onions
after 45 minutes add flour and cook for five minutes
preheat the oven to 350 degrees
stir in the beef broth and the coffee, if using, and cook for 10 minutes on medium
pour the soup into a 9X13 baking dish
top with all the bread chunks press down into the soup to make them all fit
cover with the shredded Swiss cheese and the crispy onions
bake for 15 minutes or until the top is crispy and browned
serve on plates or in bowls, it's thicker than soup, really a casserole with gooey bread and cheesy topside